现在的位置: 首页 > 综合 > 正文

struts2标签学习

2013年11月11日 ⁄ 综合 ⁄ 共 4701字 ⁄ 字号 评论关闭

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

抱歉!评论已关闭.