struts2标签学习

来源:互联网 发布:清华深圳研究院 知乎 编辑:程序博客网 时间:2024/04/29 09:18

if,elseif, else标签


<%request.setCharacterEncoding("utf-8");%>(request获取方式)country=<%=request.getParameter("country") %><br><s:if test="#parameters.country[1] == 'www'">中国</s:if><s:elseif test="#parameters.country[0] == '美国'">美国</s:elseif><s:else >其他国籍的人</s:else><br> <!-- 为某个属性赋值 --><s:set name="country" value="#parameters.country[1]"></s:set>country=<s:property value="#country" /> <br>   <s:if test="#country == 'www'">中国</s:if><s:elseif test="#country == '美国'">美国</s:elseif><s:else >其他国籍的人</s:else>




这里面有个小常识,就是通过url传递参数的时候:Struts2是将URL传的同名参数封装成一个数组,也就是说我们可以在一个URL传两个同名的参数(即?name=a&name=b);获取的时候直接#parameters.name[0], parameters.name[1]就可以分别取出两个参数的值。

include标签


被包含页面:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib uri="/struts-tags" prefix="s"%>this is the include page!!!



包含页面:

<s:include value="include.jsp">    <!-- 提交表单时才会获得value的值 -->    <s:param name="value1">test1</s:param>    <s:param name="value2" value="user"></s:param></s:include>



当然struts的include标签静态动态页面都能包含的!

i18n标签

描述:加载资源包到值堆栈。它可以允许text标志访问任何资源包的信息,而不只当前action相关联的资源包。

<s:i18n name="I18N">The i18n value is <s:text name="hi!!"></s:text></s:i18n>



iterator标签   


<%List<String> strs = new ArrayList<String>();strs.add("a");strs.add("b");strs.add("c");strs.add("d");strs.add("e");     request.setAttribute("strs", strs);%><body><s:iterator value="#request.strs" var="strs">    <s:property value="#strs"/></s:iterator><s:debug></s:debug></body>



这个标签挺容易理解的。

param标签


struts2的<s: param>标签问我觉得比较复杂的。struts2的s:param标签主要有两个属性name与value, 若想在value属性中输入直接量,则可以这样写:<s:param name="some" value="%{'user'}"/>,  也可以这样写:<s:param name="some">user</s:param>。 但如果直接赋值,这个值不是由Action动态生成的,而是自己指定的一个字符串,则只能用后者。

param页面代码:

<!-- struts2的s:param标签主要有两个属性name与value,若想在value属性中输入直接量,则可以这样写:<s:param name="some" value="%{'user'}"/>,也可以这样写:<s:param name="some">user</s:param>。但如果直接赋值,这个值不是由Action动态生成的,而是自己指定的一个字符串,则只能用后者。 --><s:url value="paramAction.jsp" id="href">    <s:param name="value1">hello!!</s:param>    <s:param name="valu2" value="%{'HELLO!'}"></s:param></s:url><s:a href="%{href}" mce_href="%{href}">paramAction</s:a><s:debug></s:debug>



paramAction页面:

<body>value1的值:<%=request.getParameter("value1") %><br>value1的值:<s:property value="#parameters.value1" /><br>value2的值:<%=request.getParameter("value2") %><br/><!-- 获取不到值 -->value2的值:${#param.value2 }<!-- 获取不到值 --><s:debug></s:debug></body>



经常用到的UI标签


<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %><%@ taglib prefix="s" uri="/struts-tags" %><%@ taglib prefix="s" uri="/struts-tags" %><%@ taglib prefix="sx" uri="/struts-dojo-tags" %><html><head>    <title>UI Tags Example</title>    <s:head />     <sx:head parseContent="true"/>   </head><body><s:actionerror/><s:actionmessage/><s:fielderror /><s:form action="exampleSubmit" method="post" enctype="multipart/form-data" tooltipConfig="#{'jsTooltipEnabled':'true'}">    <s:textfield            label="Name"            name="name"            tooltip="Enter your Name here" />    <s:date name="Select Your Birthday"/>    <!-- 在struts2.2.1中<sx:datetimepicker/>的标签使用有所变化,需要引入struts2-dojo-plugin-2.2.1.jar         这个包。      -->    <sx:datetimepicker            tooltip="Select Your Birthday"            label="Birthday"            name="birthday" />    <s:textarea            tooltip="Enter your Biography"            label="Biograph"            name="bio"            cols="20"            rows="3"/>    <s:select            tooltip="Choose Your Favourite Color"            label="Favorite Color"            list="{'Red', 'Blue', 'Green'}"            name="favoriteColor"            emptyOption="true"            headerKey="None"            headerValue="None"/>    <s:select            tooltip="Choose Your Favourite Language"            label="Favourite Language"            list="#{'CN':'中文','EN':'英文','FR':'外文'}"            name="favouriteLanguage"            emptyOption="true"            headerKey="None"            headerValue="None"/>    <s:checkboxlist            tooltip="Choose your Friends"            label="Friends"            list="{'Patrick', 'Jason', 'Jay', 'Toby', 'Rene'}"            name="friends"/>    <s:checkbox            tooltip="Confirmed that your are Over 18"            label="Age 18+"            name="legalAge"/>    <s:doubleselect            tooltip="Choose Your State"            label="State"            name="region" list="{'North', 'South'}"            value="'South'"            doubleValue="'Florida'"            doubleList="top == 'North' ? {'Oregon', 'Washington'} : {'Texas', 'Florida'}"            doubleName="state"            headerKey="-1"            headerValue="---------- Please Select ----------"            emptyOption="true" />     <s:file            tooltip="Upload Your Picture"            label="Picture"            name="picture" />                 <s:optiontransferselect            tooltip="Select Your Favourite Cartoon Characters"            label="Favourite Cartoons Characters"            name="leftSideCartoonCharacters"            leftTitle="Left Title"            rightTitle="Right Title"            list="{'Popeye', 'He-Man', 'Spiderman'}"            multiple="true"            headerKey="headerKey"            headerValue="--- Please Select ---"            emptyOption="true"            doubleList="{'Superman', 'Mickey Mouse', 'Donald Duck'}"            doubleName="rightSideCartoonCharacters"            doubleHeaderKey="doubleHeaderKey"            doubleHeaderValue="--- Please Select ---"            doubleEmptyOption="true"            doubleMultiple="true" />         <s:textarea            label="Your Thougths"            name="thoughts"            tooltip="Enter your thoughts here" />                 <s:submit onclick="alert('aaaa');" />    <s:reset onclick="alert('bbbb');" /></s:form>     </body></html>



转载自:http://www.cnblogs.com/focusj/archive/2011/01/04/2057651.html