`
longgangbai
  • 浏览: 7330937 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

struts2学习复习标签

阅读更多

strust2标签实践总结
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 />
 

分享到:
评论

相关推荐

    struts2 学习重点笔记

    ### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...

    Struts2Review项目

    总的来说,"Struts2Review项目"是一个学习和复习Struts2框架的好资源,涵盖了从基础架构到高级特性的实践,可以帮助开发者巩固对Struts2的理解,提升开发效率。通过研究和运行项目中的例子,可以深入掌握Struts2的...

    struts2留存小demo

    这个“struts2留存小demo”是开发者为了巩固和复习Struts2框架知识而创建的一个小型示例项目。在实际开发中,通过反复实践和练习,可以更好地理解和掌握Struts2的核心概念和使用技巧。 首先,我们来了解一下Struts2...

    JavaEE struts2 Hibernate结合贴吧小案例

    在Struts2中,Action返回的结果通常会与一个JSP页面关联,通过Struts2标签库(如s:form、s:textfield等)来渲染表单和显示数据。 总的来说,这个小案例是一个很好的实战练习,涵盖了JavaEE开发中的重要组成部分,...

    Struts2入门笔记1-4

    4. 学习笔记的内容可能覆盖了Struts2的基础配置、核心概念、实战技巧和复习巩固,帮助读者逐步掌握Struts2框架的全貌。 以上内容只是根据提供的信息进行的推断和扩展,具体的学习笔记内容可能包括了更详细的技术...

    自己做的一个Struts2的tutorial,强烈推荐大家下载!

    7. **Struts2标签库**:学习如何在JSP中使用Struts2提供的标签,如s:form、s:textfield等,来简化视图层的开发。 8. **异常处理**:了解如何定义全局异常处理器,以及如何处理特定类型的异常。 9. **国际化与本地...

    mvc以及struts2的游戏查询和添加小Demo

    “mvc”和“struts2”是两个重要的技术标签。MVC是一种软件设计模式,用于分离应用程序的数据、业务逻辑和用户界面。Struts2则是一个基于MVC设计模式的Java Web框架,它简化了构建基于JSP和Servlet的Web应用的过程。...

    struts2相关

    Struts2是一个基于MVC(Model-View-...对于初学者,这是一个很好的起点,对于经验丰富的开发者,这也是一种复习和深入理解Struts2的好方法。在阅读相关博客和教程时,应注重理论与实践相结合,动手操作以巩固所学知识。

    Struts经典系列教程

    Struts是Apache软件基金会 Jakarta项目下的一个开源框架,主要用于构建基于Java的企业级Web应用程序。它遵循Model-View-Controller(MVC...同时,对于已经熟悉Struts的人来说,这个教程也是一个很好的复习和巩固资料。

    Struts 例子

    标签“Struts 例子”再次强调了我们将深入学习 Struts 框架的实际操作,这将有助于开发者更好地理解和掌握 Struts 的核心概念。 在“struts-example”这个压缩包文件中,我们可以预期找到一个完整的 Struts 示例...

    某知名大学教学用的Struts课件

    2. **Struts配置文件**:深入研究struts-config.xml,这是Struts应用的核心配置文件,包括Action Mapping、Form Beans定义、数据源配置等,学习如何通过配置文件设定应用的行为。 3. **Action和ActionForm**:学习...

    struts电子书1-8.rar

    总而言之,"struts电子书1-8.rar"是一个宝贵的资源,无论你是Java Web开发的新手还是想要复习Struts1的老手,都能从中获益匪浅。通过学习这个教程,你可以提升自己在Java Web开发中的技能,更好地理解和使用Struts1...

    达内struts教程源码

    2. **Action和ActionMapping**:学习如何配置Action类,以及如何通过struts-config.xml文件设置请求的映射。 3. **ActionForm**:掌握如何使用ActionForm对象存储用户输入,并进行基本的数据验证。 4. **Struts...

    达内学习用的jdbc与struts笔记.pdf

    - 第三天:可能涉及视图层的JSP和Struts标签库的使用,以及如何处理表单提交。 - 第四天:可能讨论了异常处理、国际化、Tiles框架集成等高级主题。 Struts框架的工作流程: - 用户通过浏览器发起请求。 - 请求被...

    struts1.2案例源代码

    4. **JSP页面**:这些是视图层的文件,使用JSP标签库(如Struts Tags)来展示数据。例如,index.jsp可能是主页面,login.jsp和register.jsp则分别用于登录和注册。 5. **其他支持文件**:可能包含DAO(数据访问对象...

    myeclipse建立struts程序图解

    总的来说,通过这个教程,开发者可以学习到如何在MyEclipse中搭建一个基本的Struts项目,理解Struts框架的核心组件及其配置方式,为后续的Java Web开发打下基础。对于初学者来说,这是一个很好的实践起点,而对有...

    北大青鸟S2复习题(5) ACCP4.0

    - **Struts2框架**: 学习Struts2框架的核心组件及其配置方式,了解其在构建企业级应用中的作用。 #### 5. 综合项目实践 - **需求分析与系统设计**: 学习如何进行项目的需求分析和系统设计,包括业务流程分析、模块...

    struts1.1_EJB小例子

    5. **标签库**:提供了一系列自定义的JSP标签,如`&lt;html:form&gt;`、`&lt;bean:write&gt;`等,使得视图层的开发更加简洁。 EJB 小例子知识点: 1. **EJB类型**:EJB 包括三种主要类型:Session Beans(会话bean),Entity ...

    jsp复习资料_JSP学习好帮手

    这份"jsp复习资料_JSP学习好帮手"压缩包包含了丰富的学习资源,对于正在学习或者复习JSP的开发者来说,是非常有价值的参考资料。下面将详细阐述JSP的核心概念、工作原理以及相关知识点。 1. **JSP基础概念**: - *...

    stuts框架標籤手冊

    本手册详细介绍了Struts提供的各种标签及其用法,适合新手学习和老手复习。 1. `bean:cookie` 标签:这个标签用于在JSP页面中访问和显示HTTP请求中的Cookie信息。你可以通过指定Cookie的名字来获取它的值,并将其...

Global site tag (gtag.js) - Google Analytics