框架学习之Struts2 第九节 Struts2重要的标签解说

1. 迭代标签:iterator标签

29

2. if-else 标签

29_2

3.url标签

29_3

4.复选框  checkboxlist

形成复选框的list有三种方法:

①list

②map

③JavaBean的集合

29_429_5

5.单选框 radio

使用方法和checkboxlist基本上一样

幻灯片60

6. 下拉选择框 select

使用方法和checkboxlist也基本上相似

幻灯片61

测试:

index.jsp:
<%@ page language="java" import="java.util.*,com.javabean.Person" pageEncoding="GBK"%>
<%@ taglib uri="/struts-tags" prefix="s" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
</head>

<body>
<font>演示iterator标签:第一个是红色,最后一个是蓝色,奇数个是绿色,偶数个是黑色</font><br>
<s:set name="namelist" value="{'yinger','java','struts','spring','eclipse'}"></s:set>
<s:iterator value="#namelist" status="st">
<font color=&lt;s:if test="#st.isFirst()">red</s:if><s:elseif test="#st.isLast()">blue</s:elseif>
<s:elseif test="#st.isOdd()">green</s:elseif><s:elseif test="#st.isEven()">black</s:elseif>>
<s:property/><br>
</font>
</s:iterator>
<font>演示url标签</font><br>
<s:set name="urlname" value="yinger" scope="request"></s:set>
<s:url action="helloworld" namespace="/test">
<s:param name="name" value="#request.urlname"></s:param>
</s:url><br>
<s:set name="myurl" value="'http://www.helloworld.com'"></s:set>
使用#myurl,这时会原样输出:
<s:url value="#myurl"></s:url><br>
使用%{#myurl}把myurl当做字符串处理:
<s:url value="%{#myurl}" /><br>
<font>演示checkboxlist标签</font><br>
采用list生成checkboxlist:value属性表示选中了
<br>
<s:checkboxlist name="ckblist_list" list="#namelist" value="{'yinger'}"></s:checkboxlist><br>
采用map生成checkboxlist:listkey的值是input的value值,listvalue的值是label的文本
<br>
<s:checkboxlist name="ckblist_map" list="#{1:'food',2:'toy',3:'wine'}" listKey="key" listValue="value" value="{1,2}"></s:checkboxlist>
<br>
采用javabean生成checkboxlist:注意javabean的属性一定要提供相应的get方法
<br>
<%
Person p1
=new Person(1,"yinger");
Person p2
=new Person(2,"eclipse");
Person p3
=new Person(3,"oracle");
Person p4
=new Person(4,"tomcat");
List list
=new ArrayList();
list.add(p1);
list.add(p2);
list.add(p3);
list.add(p4);
request.setAttribute(
"personlist",list);
%>
<s:checkboxlist name="ckb_beans" list="#request.personlist" listKey="id" listValue="name" value="1"/>
<br>
<font>演示radio标签</font><br>
采用list生成radio
<br>
<s:radio name="radio_list" list="#namelist" value="'yinger'" /><br>
采用map生成radio
<br>
<s:radio name="radio_map" list="#{1:'瑜珈用品',2:'户外用品',3:'球类',4:'自行车'}" listKey="key" listValue="value" value="1" /><br>
采用javabean生成radio
<br>
<s:radio name="radio_beans" list="#request.personlist" listKey="id" listValue="name" value="1"/><br>
<font>演示select标签</font><br>
采用采用javabean生成select:
<s:select name="select_beans" list="#request.personlist" listKey="id" listValue="name"/><br>
采用list生成select:
<s:select name="select_list" list="#namelist" value="'yinger'" /><br>
采用map生成select
<s:select name="select_map" list="#{1:'瑜珈用品',2:'户外用品',3:'球类',4:'自行车'}" listKey="key" listValue="value" value="1" /><br>
</body>
</html>

  

测试结果:

29

7.<s:token />标签:防止重复提交

方法步骤是:

①在界面jsp的form表单中添加token标签

②在action的配置中添加一些信息:interceptor-ref  和  名为 invalid.token 的视图

注意在关联token拦截器之前要关联框架自带的默认的拦截器defaultStack

幻灯片62

原文地址:https://www.cnblogs.com/yinger/p/2120357.html