`
zhaoyanfangeye
  • 浏览: 122983 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts2标签的基本使用

阅读更多
来自:http://stanlyy.iteye.com
1:输出action中属性值,在jsp页面中显示用:<s:property value="属性名" />
2:在页面中实现自动增加的序号用iterator的statuts的index属性 eg:
<s:iterator value="#request.inOutAccountList" id="data" status="listStat">
<s:property value="#listStat.index+1"/>

<!—输出当前迭代元素的索引à

<s:property value="#listStat.index"/>

<!—输出当前迭代了几个元素à

<s:property value="#listStat.count"/>

<!—返回当前迭代元素的索引是否为奇数à

<s:property value="#listStat.odd"/>

<!—返回当前迭代元素的索引是否为偶数à

<s:property value="#listStat.event"/>

<!—返回当前元素是否为第一个元素à

<s:property value="#listStat.first"/>

<!—返回当前元素是否为最后一个元素à

<s:property value="#listStat.last"/>
</s:iterator>
3:在action类中取得request和session对象的方法
Map session = ActionContext.getContext().getSession();
HttpServletRequest request = ServletActionContext.getRequest ();
设置它们的值的方法:
session.put("operation", "add");
request.setAttribute("name", name); 页面中取得它们的值:
<s:property value="#session.operation"/>

<s:property value="#session[‘operation’]"/>
${sessionScope.TEST} == ${session.TEST}

<s:if test="#session.operation =='add'">

<s:if test="#session[‘operation’]=='add'">

<s:if test="#session[‘operation’]==null">


<s:property value="#request.name"/>

${requestScope.name} == ${request.name}
4:页面中奇偶行样式不一样的控制方法:
<tr class="<s:if test='#listStat.odd==true'>tableStyle-tr1</s:if><s:else>tableStyle-tr2</s:else>" >
5:单选框和复选框的使用方法
1):可以设置默认选中值,注意list的值的设置,通过这种方式使key和value不一样,这种方法比较常用(checkboxlist or radio)
<s:radio name="uncarInsPolicy.policyStateCode"
list="#{'5':'通过' , '2':'不通过'}" listKey="key" listValue="value" value='5' />
2):这里的key和value的值是一样的(checkboxlist or radio)
<s:checkboxlist list="{'Red', 'Blue', 'Green'}" name="favoriteColor"/>
6:struts2 中的标签会生成类似由<tr><td></td></tr>构成的字串(具体什么标签生成什么,可以查 看生成后的页面的源代码)如果不限制这些多余代码的生成,页面将变得无法控制,所以一般我们是不希望它生成多余的代码的,具体的设置方法如果,在 struts.xml中统一配置
<constant name="struts.ui.theme" value="simple"/>加上该句即可
也可以通过在页面中将tag的theme属性设为"simple"取消其默认的表格布局
不过最好是:自定义一个theme,并将其设为默认应用到整个站点,如此一来就可以得到统一的站点风格
7:jsp页面中格式化日期的方法 <s:date name="unCarInsModificationInfo.createTime" format="yyyy-MM-dd" nice="false"/>这样就可以将日期格式化为yyyy-MM-dd的形式
8:默认情况下,当请求action发生时,Struts运行时(Runtime)根据struts.xml里的Action映射集(Mapping),实例化action对应的类,并调用其execute方法。当然,我们可以通过以下两种方法改变这种默认调用 1)在classes/sturts.xml中新建Action,并指明其调用的方法
比如想调用action类中的
public String aliasAction() {
message ="自定义Action调用方法";
return SUCCESS;
}
则在classes/sturts.xml中加入下面代码:
<action name="AliasHelloWorld" class="tutorial.HelloWorld"method="aliasAction">
<result>/HelloWorld.jsp</result>
</action>
既可用action名调用该方法了
2)(比较常用)
访问Action时,在Action名后加上“!xxx”(xxx为方法名)。
9:Struts 2.0有两个配置文件,struts.xml和struts.properties都是放在WEB-INF/classes/下。
struts.xml用于应用程序相关的配置
struts.properties用于Struts 2.0的运行时(Runtime)的配置
10:在action类中取得web下某一文件夹物理路径(绝对路径)的方法
filePath = ServletActionContext.getServletContext().getRealPath("/upLoadFiles")
11:要想返回的页面不是一个直接JSP页面而是要先通过返回action中的方法读取相应的数据再返回到jsp页面,有两种方法
1)在struts.xml中这么设置
<result name="list" type="redirect-action">sysmanage/UserBaseInfoAction!findUserBaseInfo.action</result>
2)在action中返回时直接调用这个方法即可
return findList();
12:设置checkboxlist中默认值的方法
<s:checkboxlist name="skills1"="Skills 1" list="{ 'Java', '.Net', 'RoR', 'PHP' }" value="{ 'Java', '.Net' }" />
<s:checkboxlist name="skills2"
label="Skills 2" list="#{ 1:'Java', 2: '.Net', 3: 'RoR', 4: 'PHP' }" listKey="key" listValue="value" value="{ 1, 2, 3 }"/>
13:二级级连下拉框 <s:set name="foobar"
value="#{'Java': {'Spring', 'Hibernate', 'Struts 2'}, '.Net': {'Linq', ' ASP.NET 2.0'}, 'Database': {'Oracle', 'SQL Server', 'DB2', 'MySQL'}}" />
<s:doubleselect list="#foobar.keySet()" doubleName="technology" doubleList="#foobar[top]" label="Technology" />
14:在页面中取出list对象中的属性值 <s:if test="list!=null&&list.size()>0">

<s:iterator value="list" status=”stat”>

<!—如果list中存储形式为select id,name,title-- >

<s:property value="list[#stat.index][0]" />

<!—如果list中存储多对象如left join Role left join Group-- >

<s:property value="list[#stat.index][0].title" />

<s:property value="list[#stat.index][1].title" />

<!—如果为Map形式存储-- >

<s:iterator value="mapUsers.keySet()" id="id">

<s:property value="#id"/>

<s:iterator value="mapUsers.get(#id)">

<s:property value="nickname"/>||<s:property value="UName"/>

</s:iterator>

</s:iterator>

<!—判断是否为奇数-- >

<s:if test="stat.odd == true"></s:if>

<!—判断是否为第一条数据-- >

<s:if test="#stat.index==0">

<s:if test="#stat.first">

<!—判断属性是否为null-- >

<s:if test="list[#stat.index][0].title ==null”>

<!—将属性值声明为变量-- >

<s:set name="title" value="list[#stat.index][0].title " ></s:set>

<!—判断属性值-- >

<s:if test="list[#stat.index][0].title ==4">

<s:if test="list[#stat.index][0].title ==’admin’">

<s:if test="#title ==4">

<s:if test="list[#stat.index][0].title.length()>15">

<s:property value="list[#stat.index][0].title.substring(0,15)" />...

</s:if>



14:获取select值

<s:select list="listDept" name="selectDept" listKey="val" listValue="prntext" disabled = "true" value="deptSelected" />


<s:hidden name="selectDept" value="%{deptSelected}"/>


15:循环指定int型数据

其中first属性指定循环起始值,last指定循环终止值,其它相关属性可以查看org.apache.struts2.util.Counter类源码。在下面迭代器中输入循环的当前值,即:current

<s:bean name="org.apache.struts2.util.Counter">

<s:param name="first" value="1" />

<s:param name="last" value="pages" /><!—pages page为action中属性à

<s:iterator>

<s:if test="current-1==page">

<font color="red"><s:property /></font>

</s:if>

<s:else>

[<s:property />]

</s:else>

</s:iterator>

</s:bean>


16:输出国际化文件中的值

<s:text name=”key”>

${getText[“key”]}

17:输出Action中的消息

<s:actionmessage />

18:输出Action中的错误

<s:actionerror />


0
1
分享到:
评论

相关推荐

    struts1.2基本标签使用视频

    struts1.2基本标签使用视频,其中讲解了bean、logic等标签的用法

    struts2入门,struts2 标签

    struts2入门struts2 标签, 关于struts2基本标签使用

    Struts 2 标签

    struts 2 标签的应用,包含基本所有的struts 2的标签,可以供大家学习

    struts2基本标签用法

    一些struts2标签最基本的用法。

    Struts2 标签库讲解

    Struts2 标签库讲解,从Struts2的基本标签,到其Ajax和HTML标签的枚举与讲解!

    struts2 Demo

    里面有struts2基本的配置和模拟登录的例子,以及struts2前台后后台的数据交互方式的解释,代码中有完整的注释帮助理解struts2的基本流程,同时对jstl和struts2的标签也有一定的使用,可以给初学者一定的拓展方向;...

    struts2的标签库

    这是一份关于struts2标签库的文档。 &lt;%@ taglib prefix="s" uri="/struts-tags"%&gt; struts2的标签共分为五大类: 一、逻辑控制标签 用于进行逻辑控制输出。主要分以下几类: 1)条件标签:用于执行基本的条件流转 ...

    struts2标签库课件

    struts2标签库讲述了基本的sturts2的基本概念以及标签库的作用和意义所在,及时学习Struts2

    Struts标签集合简介

    一些常用的struts标签 在常用的开发当中基本够用了~~

    struts 2标签

    struts2标签的使用。。 If标签用来控制基本的条件处理流程,通常和else标签或者elseif标签连用。

    [浪曦原创]Struts系列 第8讲 Struts的基本标签使用(zk001)

    [浪曦原创]Struts系列 第8讲 Struts的基本标签使用(zk001)

    struts2讲义_吴峻申

    5.1 Struts2标签使用原理解疑 73 5.2 OGNL表达式语言介绍 75 5.3 Struts2控制标签简介 79 5.3.1 append标签使用介绍 79 5.3.2 generator标签使用介绍 80 5.3.3 if、else、elseif标签使用介绍 81 5.3.4 iterator标签...

    struts2分页代码的示例

    基本的思路是:把数据库表中的每一行数据封装成一个对象,用一个返回类型为List的方法返回这些对象,接着在Struts2的action里面定义一个List属性,用这个List来接收从数据库中查询出来并进行了封装的那些对象,然后...

    struts2 tag 标签手册(2.0全部收录,详细,超值)

    网上struts2的资料很多,不过讲解struts2jsp标签的很少,特定上传一个。基于html格式的,基本是直接翻译过来的,很全很详细,您下了绝对不会后悔。另外在附struts2的中文教程一本,这个网上比较多,顺带上吧。好东西...

    Struts2入门教程(全新完整版)

    十二、总结 本教程对struts2的基本知识进行了一些说明,关于struts2的更多详细内容应参看struts2的官方文档及提供的app实例。 下面对struts2的基本执行流程作一简要说明,此流程说明可以结合官方提供的struts2结构图...

    struts2-指南

    — Web 应用的发展 — Model 1 和Model 2 — MVC 思想 — MVC 模式的优势 — 常用MVC 框架及其特征 — Struts 1 的基本结构及其存在的问题 — WebWork 的基本结构 — Struts 2 的起源 — ...

    struts文件上传例子及页面基本标签用法

    struts文件上传及页面基本标签的用法例子,是jbuilder9上做的,所以大家要运行到eclipse上要把代码考过去就行了。

    struts2教程.CHM文档

    本章要点 — Web应用的发展 — Model 1和Model 2 — MVC思想 — MVC模式的优势 — 常用MVC框架及其特征 ...— Struts 2的标签库 — Struts 2的控制器组件 — Struts 1和Struts 2的对比 .......................

    深入浅出Struts2(附源码)

    5.1 Struts标签的使用方法 59 5.2 表单标签的共同属性 60 5.3 form标签 62 5.4 textfield、password、hidden标签 63 5.5 submit标签 65 5.6 reset标签 65 5.7 label标签 66 5.8 head标签 66 5.9 textarea...

Global site tag (gtag.js) - Google Analytics