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

struts2常用标签总结

阅读更多
<s:date name="person.birthday" format="dd/MM/yyyy" />
<s:date name="person.birthday" format="%{getText('some.i18n.key')}" />
<s:date name="person.birthday" nice="true" />
<s:date name="person.birthday" />
1、Struts2中对标签中的的应用,如:test="${age}"   test="#age"   test="%{#age}"三种的用法。
test="${age}"这种方法一般是在2个地方使用。国际化中应用,咱们这个目前还不牵扯。另一个是配置文件中,如web.xml中。(主要是读属性文件中的值需要这么写在jsp中是el表达式)
test="#age"这个用得最常见,基本上能应付的情况下都用这种写法。
test="%{#age}"这个是在什么地方用呢?举个例子。
value="#age",这个是一个age变量呢还是字符串"#age"?当然,我们的意图是是个变量,但由于不能区分,所以书写为test="%{#age}"这种格式。
2、struts2中标签的使用,如:
<s:if test='%{#attr.user.userSex == "M"}'>男</s:if>
要使user.userSex的值等于字符串,一般情况下我们会这样书写:
<s:if test="%{#attr.user.userSex == 'M'}">男</s:if>
或者再不动的也会这样书写
<s:if test="%{#attr.user.userSex == "M"}">男</s:if>
我把这几种都测试了只有这种情况正常
<s:if test='%{#attr.user.userSex == "M"}'>男</s:if>
这里主要注意的是单引号和双引号所用的位置,没为什么(估计是字符串拼接的问题,我们在html组件中嵌套java代码也常会用这种问题),这么写就成。
3、关于showModalDialog清除缓存,防止模式窗口页面不更新情况(css的修改同样存在)作弹出窗口的时候,发现只有重起服务器弹出窗口的值才显示最新更新过的值,确定是由于调用就得数据缓存引起的。在网上查了一下相关解决方法,比如HTML、ASP、JSP都有它们自己的解决方法,但是比较麻烦,要在每个页面写上,或者利用iframe方式来解决。
因为咱们用的是一个写好的弹出窗口组件,所以想办法把它加在这个JS中就方便多了。后来发现了一种方法,就是利用当前访问时间来判断,(new Date()).getTime(),因为访问的时间肯定不一样,所以这个值也不一样,这样他就会调用新的数据查询,而不是依然用的是缓存中的数据信息。格式:URL+'?ts=' + (new Date()).getTime(),至于这里用?还是&要根据条件自己作出判断方法。
4、日期格式化Struts 2 教程中对标签的介绍就那几种,比如,对日期格式化都没做介绍和提示,当我们用<s:property>输出时间数据时,没有参数可以是日期格式化,后来在配置文件struts-tags.tld中查了一下,他本来就有一个<s:date>的标签,可以根据程序员设置而显示日期的相应格式。比如,我们使用<s:property value="user.userBirthday" />时显示为"84-6-30 00:00:00.000",而当我们使用<s:date name="user.userBirthday" format="yyyy-MM-dd" />时则显示"1984-06-30",格式要求完全可以根据format后面所定义的格式显示。
5、关于 <s:property> 的输出问题,<s:property>可以输出action 中的对象属性 action 中存在对象名为user 的对象,我们输出它的属性时的写法
   <s:property value="user.name">
    <s:property> 还可以与<s:iterator>标签嵌套使用 例如
    <s:iterator id="user" name="userList">
                  <s:property value="#user.name">
    </s:iterator>
***到此处需要注意的是,如果是单纯的对象输出(不是list里的对象输出)在<s:property>标签的value中不需要加入#
     <s:iterator> 与 <s:property> 标签嵌套使用,不仅仅可以输出,对象中的属性,还可以输出List 里的字符串,甚至还可以输出 list中嵌套的list
      写法如下:<s:iterator id="list" value="list">
                            <s:property value="#list[0]"/>
                </s:iterator>
     <s:if/>标签可以和 <s:iterator> 主要应用<s:iterator status="id" > 中的 status 属性 可以根据status值是否为奇数输出相应的内容,如改变背景色
     <s:if text="#id.odd">
             <tr class=""/>
     </s:if>
还是关于 <s:iterator>
                  <s:property/> 的使用,这里说的是多层对象嵌套的问题。
          </s:iterator>
        举例如下User类中用一个属性为Addr 的对象,引用名为addr addr的属性值为字符串home= "home"
那我们要把所有的home都打印出来应该这么写
       <s:iterator id="home" value="homeList">
                  <s:property #home.addr.home/>此标签支持多层迭代,具体多少层不清楚。
          </s:iterator>
这个是后台直接存的就是list。并且没有迭代的。
<s:property value="testedThesisInfo.get(3)"/> 见studentThesisAction return 的commit。
//struts2 的编码
&course_name=<s:property value="#%{java.net.URLEncoder.encode(myClassCourses1.courseName,'UTF-8')}"/>
<!---->
分享到:
评论

相关推荐

    Struts2常用标签总结

    java Web开发,我们最常用的Struts2常用标签总结,帮助你Struts2常用标签有那些功能

    struts2常用标签方法总结

    struts2常用标签方法总结

    6年javaEE开发的Word资料合集

    pio + itext 生成报表 几大框架问题 Struts2常用标签总结等 Word文件"&gt;包括165个javaEE学习的Word文件 jstl标准函数 mysql命令详解 javascript 常用JavaScript代码 java位运算大全 java struts2 0经典知识点 ORACLE ...

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

    6.其它常用标签的使用(代码参名为“补充”的文件夹下的tag.jsp) 45 七、国际化 47 1.action级别下的国际化 47 2.配置package的资源文件 48 3.app级别的资源文件 48 4.使用资源文件的原理 49 5.选择使用资源文件 49...

    strus标签总结及例子

    里面总结了一些struts中常用的标签,每个标签都有例子

    struts1标签的使用说明及举例.doc

    Struts1标签的详细说明,及使用举例,总结了常用的到一些情况的处理。

    Struts原理、开发及项目实施

    12 &lt;br/&gt;1、 摘要 2、 关键词 3、 Framework 4、 Struts的起源 5、 Struts工作原理 6、 Struts安装 7、 一个实例 8、 Struts优缺点 9、 Struts项目实施经验 10、 总结 ...

    Java语言基础下载

    Struts如何实现Model 2, MVC 639 Struts 控制流 639 Struts framework的工作原理和组件 642 Struts ActionServlet控制器对象 642 Struts Action Classes 642 搞定Action对象 643 处理异常 643 Action的分类 643 ...

    Java学习笔记-个人整理的

    {1.3.1}总结}{23}{subsection.1.3.1} {1.4}数据类型}{23}{section.1.4} {1.4.1}整数与浮点数}{23}{subsection.1.4.1} {1.4.1.1}浮点数原理}{24}{subsubsection.1.4.1.1} {1.4.2}格式化输出浮点数}{24}{...

    freemarker总结

    JAVA模版引擎Freemarker常用标签(一) 1. if指令 这是一个典型的分支控制指令,该指令的作用完全类似于Java语言中的if,if指令的语法格式如下: &lt;#if condition&gt;... &lt;#elseif condition&gt;... &lt;#elseif condition&gt;......

    java-ee电子商城系统课程设计.doc

    Struts 是目前创建Web 应用最常用的表现层MVC 框架实现,基于Model2 的Struts 框架利用控制器和定制标签库将应用中的模型和视图分离,达到了层间松散耦合的效果 ,同时提高系统的灵活性、重用性和维护性。...

    java 面试题 总结

    assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为...

    java三大框架

    Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的 Action,也为V(View)提供了一系列定制标签(Custom Tag)。但Struts几乎没有涉及M(Model),所以Struts可以采用JAVA实现的任何形式...

    Spring API

    8.3.5. 常用注解 8.3.6. JUnit 3.8遗留支持 8.3.7. Spring TestContext Framework 8.3.8. PetClinic示例 8.4. 更多资源 II. 中间层数据访问 9. 事务管理 9.1. 简介 9.2. 动机 9.3. 关键抽象 9.4. 使用资源...

    Spring中文帮助文档

    8.3.5. 常用注解 8.3.6. JUnit 3.8遗留支持 8.3.7. Spring TestContext Framework 8.3.8. PetClinic示例 8.4. 更多资源 II. 中间层数据访问 9. 事务管理 9.1. 简介 9.2. 动机 9.3. 关键抽象 9.4. 使用资源...

    ARCH4系统开发指南

    2 常用功能处理方式 9 2.1 如何执行条件查询 9 2.1.1 查询示例 9 2.1.2 查询限制 9 2.1.2.1 Like 9 2.1.2.2 In 10 2.1.2.3 Between 10 2.1.2.4 Equal 10 2.1.2.5 NotEqual 10 2.1.2.6 GreaterThan 10 2.1.2.7 ...

Global site tag (gtag.js) - Google Analytics