struts2表单标签

表单标签_checkboxlist复选框
 
如果集合为 list
<s:checkboxlist name="list" list="{'Java','.Net','RoR','PHP'}" value="{'Java','.Net'}"/>
生成如下 html 代码:
<input type="checkbox" name="list" value="Java" checked="checked"/><label>Java</label>
<input type="checkbox" name="list" value=".Net" checked="checked"/><label>.Net</label>
<input type="checkbox" name="list" value="RoR"/><label>RoR</label>
<input type="checkbox" name="list" value="PHP"/><label>PHP</label>
如果集合为 MAP
<s:checkboxlist name="map" list="#{1:' 瑜珈用品 ',2:' 户外用品 ',3:' 球类 ',4:' 自行车 '}" listKey="key" listValue="value" value="{1,2,3}"/>
生成如下 html 代码:
<input type="checkbox" name="map" value="1" checked="checked"/><label> 瑜珈用品 </label>
<input type="checkbox" name="map" value="2" checked="checked"/><label> 户外用品 </label>
<input type="checkbox" name="map" value="3" checked="checked"/><label> 球类 </label>
<input type="checkbox" name="map" value="4"/><label> 自行车 </label>
 
表单标签_checkboxlist复选框
 
如果集合里存放的是 javabean
  <%
  Person person1 = new Person(1," 第一个 ");
  Person person2 = new Person(2," 第二个 ");
  List<Person> list = new ArrayList<Person>();
  list.add(person1);
  list.add(person2);
  request.setAttribute("persons",list);
  %>
<s:checkboxlist name="beans" list="#request.persons" listKey=" personid " listValue=" name "/>
Personid name Person 的属性
生成如下 html 代码:
<input type="checkbox" name=“beans" value="1"/><label> 第一个 </label>
<input type="checkbox" name=“beans" value="2"/><label> 第二个 </label>
 
表单标签_radio单选框
 
该标签的使用和 checkboxlist 复选框相同。
如果集合里存放的是 javabean (personid name Person 的属性 )
< s:radio name="beans" list="#request.persons" listKey="personid" listValue="name"/>
生成如下 html 代码:
<input type="radio" name="beans" id="beans1" value="1"/><label> 第一个 </label>
<input type="radio" name="beans" id="beans2" value="2"/><label> 第二个 </label>
如果集合为 MAP
<s:radio name="map" list="#{1:' 瑜珈用品 ',2:' 户外用品 ',3:' 球类 ',4:' 自行车 '}" listKey="key" listValue="value“ value="1"/>
生成如下 html 代码:
<input type="radio" name="map" id="map1" value="1"/><label for="map1"> 瑜珈用品 </label>
<input type="radio" name="map" id="map2" value="2"/><label for="map2"> 户外用品 </label>
<input type="radio" name="map" id="map3" value="3"/><label for="map3"> 球类 </label>
<input type="radio" name="map" id="map4" value="4"/><label for="map4"> 自行车 </label>
如果集合为 list
<s:radio name="list" list="{'Java','.Net'}" value="'Java'"/>
生成如下 html 代码:
<input type="radio" name="list" checked="checked" value="Java"/><label>Java</label>
<input type="radio" name="list" value=".Net"/><label>.Net</label>
 
表单标签_select下拉选择框
 
<s:select name="list" list="{'Java','.Net'}" value="'Java'"/>
<select name="list" id="list">
    <option value="Java" selected="selected">Java</option>
    <option value=".Net">.Net</option>
</select>
<s:select name="beans" list="#request.persons" listKey="personid" listValue="name"/>
<select name="beans" id="beans">
    <option value="1"> 第一个 </option>
    <option value="2"> 第二个 </option>
</select>
<s:select name="map" list="#{1:' 瑜珈用品 ',2:' 户外用品 ',3:' 球类 ',4:' 自行车 '}" listKey="key" listValue="value" value="1"/>
<select name="map" id="map">
    <option value="1" selected="selected"> 瑜珈用品 </option>
    <option value="2"> 户外用品 </option>
    <option value="3"> 球类 </option>
    <option value="4"> 自行车 </option>
</select>
 
<s:token />标签防止重复提交
 
<s:token /> 标签防止重复提交,用法如下:
第一步:在表单中加入 <s:token />
<s:form action="helloworld_other" method="post" namespace="/test">
  <s:textfield name="person.name"/> <s:token/> <s:submit/>
  </s:form>
第二步:
<action name="helloworld_*" class="cn.itcast.action.HelloWorldAction" method="{1}">
       <interceptor-ref name="defaultStack" />
        <interceptor-ref name="token" />
        <result name="invalid.token">/WEB-INF/page/message.jsp</result> 
        <result>/WEB-INF/page/result.jsp</result>
</action>
以上配置加入了 token” 拦截器和 invalid.token” 结果,因为 token” 拦截器在会话的 token 与请求的 token 不一致时, 将会直接返回 invalid.token” 结果。
debug 状态 , 控制台出现下面信息 , 是因为 Action 中并没有 struts.token struts.token.name 属性 , 我们不用关心这 个错误:
严重 : ParametersInterceptor - [setParameters]: Unexpected Exception caught setting 'struts.token' on 'class xxx: Error setting expression 'struts.token' with value '[Ljava.lang.String;@39f16f'
严重 : ParametersInterceptor - [setParameters]: Unexpected Exception caught setting 'struts.token.name'

猜你喜欢

转载自free0007.iteye.com/blog/1757264