Struts2获取HTML表单元素与Struts表单标签的区别使用-基础篇



Struts2获取HTML表单元素与Struts表单标签的区别使用-基础篇

序:

 

页面和后台之间的数据交互很多时候是依赖表单来完成的,通常使用struts标签相对而言方便点,但效率上很明显比用纯粹的html表单元素要差很多。

 

虽然比较基础,但是还是在这里对两者结合后台的使用作一个记录。

 

正文:

 

Action源码:

 

  1. public class FormAction {
  2.     private String text;
  3.     private String radio;
  4.     private String ck;
  5.     private String select;
  6.     private String multiple;
  7.     private String textarea;
  8.     public String savestrutsform() {
  9.         log(getText());
  10.         log(getRadio());
  11.         log(getCk());
  12.         log(getSelect());
  13.         log(getMultiple());
  14.         log(getTextarea());
  15.         return ”none”;
  16.     }
  17.     public String showstrutsform() {
  18.         return ”success”;
  19.     }
  20.     public String savehtmlform() {
  21.         log(getText());
  22.         log(getRadio());
  23.         log(getCk());
  24.         log(getSelect());
  25.         log(getMultiple());
  26.         log(getTextarea());
  27.         return ”none”;
  28.     }
  29.     public String showhtmlform() {
  30.         return ”success”;
  31.     }
  32.     public void log(String str) {
  33.         System.out.println(str);
  34.     }
  35.     //get,set省略
  36.  }

 

xml配置:

  1. <span style=”font-family:’Comic Sans MS’;”><struts>
  2.     <package name=”form” extends=”struts-default”>
  3.         <action name=”savehtmlform” class=”com.company.strutstudy.web.action.FormAction”
  4.             method=”savehtmlform”>
  5.         </action>
  6.         <action name=”showhtmlform” class=”com.company.strutstudy.web.action.FormAction”
  7.             method=”showhtmlform”>
  8.             <result name=”success”>/core/form_html.jsp</result>
  9.         </action>
  10.         <action name=”savestrutsform” class=”com.company.strutstudy.web.action.FormAction”
  11.             method=”savestrutsform”>
  12.         </action>
  13.         <action name=”showstrutsform” class=”com.company.strutstudy.web.action.FormAction”
  14.             method=”showstrutsform”>
  15.             <result name=”success”>/core/form_struts.jsp</result>
  16.         </action>
  17.     </package>
  18.  </struts></span>


 

HTML表单元素使用

html的jsp页面(form_html.jsp):
  1. <span style=”font-family:’Comic Sans MS’;”><form action=”savehtmlform.action” method=”post”>
  2.             <table border=”1″>
  3.                 <tr>
  4.                     <td colspan=”2″>
  5.                         Action对html表单元素进行获取
  6.                     </td>
  7.                 </tr>
  8.                 <tr>
  9.                     <td>
  10.                         复选框checkbox
  11.                     </td>
  12.                     <td>
  13.                         <input type=”checkbox” name=”ck” value=”1″ />
  14.                         <input type=”checkbox” name=”ck” value=”2″ />
  15.                         <input type=”checkbox” name=”ck” value=”3″ />
  16.                         <input type=”checkbox” name=”ck” value=”4″ />
  17.                     </td>
  18.                 </tr>
  19.                 <tr>
  20.                     <td>
  21.                         文本框text
  22.                     </td>
  23.                     <td>
  24.                         <input type=”text” name=”text” />
  25.                     </td>
  26.                 </tr>
  27.                 <tr>
  28.                     <td>
  29.                         单选radio
  30.                     </td>
  31.                     <td>
  32.                         <input type=”radio” name=”radio” value=”1″ />
  33.                         <input type=”radio” name=”radio” value=”2″ />
  34.                         <input type=”radio” name=”radio” value=”3″ />
  35.                         <input type=”radio” name=”radio” value=”4″ />
  36.                     </td>
  37.                 </tr>
  38.                 <tr>
  39.                     <td>
  40.                         单选下拉select
  41.                     </td>
  42.                     <td>
  43.                         <select name=”select”>
  44.                             <option value=”1″>
  45.                                 one
  46.                             </option>
  47.                             <option value=”2″ selected=”selected”>
  48.                                 two
  49.                             </option>
  50.                             <option value=”3″>
  51.                                 three
  52.                             </option>
  53.                             <option value=”4″>
  54.                                 four
  55.                             </option>
  56.                         </select>
  57.                     </td>
  58.                 </tr>
  59.                 <tr>
  60.                     <td>
  61.                         多选下拉select
  62.                     </td>
  63.                     <td>
  64.                         <select name=”multiple” multiple=”multiple”>
  65.                             <option value=”1″>
  66.                                 one
  67.                             </option>
  68.                             <option value=”2″ selected=”selected”>
  69.                                 two
  70.                             </option>
  71.                             <option value=”3″>
  72.                                 three
  73.                             </option>
  74.                             <option value=”4″>
  75.                                 four
  76.                             </option>
  77.                         </select>
  78.                     </td>
  79.                 </tr>
  80.                 <tr>
  81.                     <td>
  82.                         文本域(textarea)
  83.                     </td>
  84.                     <td>
  85.                         <textarea rows=”2″ cols=”3″ name=”textarea”>
  86.                         </textarea>
  87.                     </td>
  88.                 </tr>
  89.                 <tr>
  90.                     <td colspan=”2″>
  91.                         <input type=”submit” value=”保存表单”>
  92.                     </td>
  93.                 </tr>
  94.             </table>
  95.  </form></span>

页面展示:

Struts2表单标签使用

struts2标签的jsp页面(form_struts.jsp):

 

  1. <span style=”font-family:’Comic Sans MS’;”><s:form action=”savestrutsform” method=”post”>
  2.         <s:label value=”Action对struts2表单元素进行获取” ></s:label>
  3.             <table border=”1″>
  4.                 <s:checkboxlist label=”复选框checkbox”
  5.                     list=”{1,2,3,4}”
  6.                     value=”1,2″ name=”ck” />
  7.                 <s:textfield label=”文本框text” name=”text” value=”" />
  8.                 <s:radio list=”{1,2,3,4}” name=”radio” label=”单选radio(list)”></s:radio>
  9.                 <s:radio list=”#{’1′:’one’,’2′:’two’,’3′:’three’,’4′:’four’}”
  10.                     name=”radio” label=”单选radio(map)”></s:radio>
  11.                 <!– value中设置默认选中 –>
  12.                 <s:select label=”单选下拉select” list=”{1,2,3,4}” value=”1″
  13.                     name=”select” />
  14.                 <s:select label=”多选下拉select” list=”#{’1′:’one’,’2′:’two’}”
  15.                     value=”1″ name=”multiple” multiple=”true” />
  16.                 <s:textarea label=”文本域textarea” name=”textarea” value=”" cols=”2″
  17.                     rows=”3″></s:textarea>
  18.                 <s:submit value=”保存表单”></s:submit>
  19.             </table>
  20. </s:form></span>

结果展示:

 

 

总结:

两者的使用区别通过查看上面的实例,还是比较大的。