文档章节

Strut2中的标签

jj_soft
 jj_soft
发布于 2016/06/04 15:24
字数 1368
阅读 7
收藏 0

Struts2的标签用法和示例

1)s:property标签:property 标签用来输出一个值栈属性的值
示例:
输出 Action 属性 customerId 的值: <s:property value=“customerId”/>
输出 session 属性 userName 的值: <s:property value=“#session.userName”/>
notice:如果 value 属性没有给出, ValueStack 值栈栈顶对象的值被输出,在许多情况下, JSP EL 可以提供更简洁的语法<s:property value=“customerId”/>可以写成${customerId}
2)s:url标签:可以用来动态的创建一个URL,常用参数如下:(Struts2中对Value的值有自动匹配功能;也就是OGNL解析)
var:用来被压入contextMap中的键值
value:指定URL值的值
includeparam:post,get,all:指定是否包含请求参数
Action:指定Action
method:指定Action方法
namespace:指定URL的命名空间

3)param

标签用来把一个参数传递给包含着它的那个标签

•无论在给出 value 值时有没有使用 %{}, Struts 都会对它进行 ognl 求值
•如果想传递一个 String 类型的字符串作为参数值, 必须把它用 单引号括起来.
•可以把 value 属性的值写在开始标签和结束标签之间. 利用这种 方式来传递一个 EL 表达式的值
 
4)set 标签用来在以下 Map 对象里创建一个键值对:
–ValueStack 值栈的 ContextMap 值栈
–Map 类型的 session 对象
–Map 类型的 application 对象
–Map 类型的 request 对象
–Map 类型的 page 对象
 5)
•push 标签将把一个对象 压入 ValueStack 而不是压入 ContextMap.
•push 标签 在标签起始时把一个对象压入栈, 标签结束时将对象 弹出栈.
 6)if, else 和 elseif 标签
这三个标签用来进行条件测试, 它们的用途和用法类似于 if, else 和 elseif 关键字. 其中 if 和 elseif 必须有 test 属性;例如<s:if test=""
7)
•iterator 标签用来遍历一个数组, Collection 或一个 Map, 并把 这个可遍历对象里的每一个元素 依次压入和弹出 ValueStack
•在开始执行时, iterator 标签会先把 IteratorStatus 类的一个实例压入 ContextMap, 并在每次遍历循环时 更新它. 可以将一个指向 IteratorStatus 对象的变量赋给 status 属性.
•top 指代当前迭代元素,可以为对象
8)
•sort 标签用来对一个可遍历对象里的元素进行排序.
 9)
•date 标签用来对 Date 对象进行排版
•format 属性的值必须是 java.text.SimpleDateFormat 类里定义的日期/时间格式之一.
 10)
•action 标签用在页面上来执行一个 action.
•action 标签还会把当前 Action 对象压入 ValueStack 值栈的 ContextMap 子栈.
11)
•bean 标签将创建一个 JavaBean, 并把它压入 ValueStack 值栈的 ContextMap 子栈. 这个标签的功能与 JSP 中的 useBean 动作元素很相似
 12)
•include 标签用来把一个 Servlet 或 JSP 页面的输出包含到当前页面里来.
 13)
•append 标签用来合并可遍历对象.
•merge 标签用来交替合并可遍历对象.
14)
•generator 标签用来生成一个可遍历对象并把它压入 ValueStack 栈.
•generator 标签结束标记将弹出遍历对象
•如果在一个 generator 标签里给出了 converter 属性, 新生成的可遍历对象里的每一个元素都会传递到该属性所指定的方法进行必要的转换.
15)
•subset 标签用来创建一个可遍历集合的子集.
•subset 标签通过 decider 属性来创建一个可遍历集合的子集.
  表单标签:
•textfield 标签将被呈现为一个输入文本字段,
•password 标签将被呈现为一个口令字段,password 标签扩展自 textfield 标签, 多了一个 showPassword 属性. 该属性时布尔型. 默认值为 false, 它决定着在表单回显时是否显示输入的密码.
•hidden 标签将被呈现为一个不可见字段.
•submit 标签将呈现为一个提交按钮. 根据其 type 属性的值. 这个标签可以提供 3 种呈现效果:
  –input: <input type=“submim” …/>
  –button: <input type=“button” …/>
  –image: <input type=“image” />
•textarea 标签将呈现为一个 HTML 文本域元素
 
•checkbox 标签将呈现为 一个 HTML 复选框元素. 该复选框元素通常用于提交一个布尔值
•在普通的HTMLcheckbox 标签在表单被提交时, 如果某个复选框被选中了, 它的值将为 true, 这个复选框在 HTTP 请求里增加一个请求参数.但 如果该复选框未被选中, 在请求中就不会增加一个请求参 .
•checkbox 标签解决了这个局限性, 它采取的办法是为单个复选框元素创建一个配对的不可见字段(无论是否被选中都有值)
 
•list, listKey, listValue 这 3 个属性对 radio(多选按钮), select(下拉列表框), checklist 等标签非常重要
•可以把一个 String, 一个数组, 一个 Enumeration, Iterator, Map 或 Collection 赋给 list 属性. 
 
•select 标签将呈现一个 select 元素.
•optiongroup 标签对 select 元素所提供的选项进行分组. 每个选项有它自己的来源.
 
•checkboxlist 标签将呈现一组多选框.
checkbox 标签被映射到一个字符串数组或是一个基本类型的 数组. 若它提供的多选框一个也没有被选中, 相应的属性将被赋 值为一个空数组而不是空值.
 
 
 
 
 
 

© 著作权归作者所有

jj_soft
粉丝 1
博文 96
码字总数 74097
作品 0
广州
程序员
私信 提问
Struts2 分割字符串标签s:generator

有些时候会从后台返回一个字符串,可以通过Strut2的标签s:generator进行分割。 generator标签,该标签可以将指定字符串按指定分隔符分割成多个字串。生成的多个字串可以用iterator标签进行迭...

lee_json
2012/09/27
0
0
OGNL 找不到指定的值 但是EL表达式可以找到

哎,这段时间再学struts2.3GA,初学很多地方不明白。这里就先贴上一个,如题。最近在做一个OA办公,为了简单没写工作流,只做权限控制。做到上传下载。有点犯糊涂。。 代码说明:在服务器获得...

Secret
2012/08/26
1K
7
struts2中的s:radio在spring mvc标签中怎么表示

在strut2中可以像上面那样定义一个radio。使用类似json字符串的方式来表示一个map。 这个在spring mvc中怎么用,SPEL支持这样的表达式吗?总觉得spring mvc很多地方没有struts2写起来简单和方...

cyper
2012/10/25
1K
2
SSH框架整合——strut2完成forword跳转

strut2固定是request的请求重定向方式进行跳转 如果界面中用forword来完成跳转: 会报请求错误的异常,所以需要在web.xml中修改strut2的配置 struts2 /* FORWORD REQUE...

夏延
2018/07/13
0
0
迫切需要一份JAVA开发的工作,求收留。

帮朋友发求职,求一份JAVA开发的工作,薪水不是问题。只要能活着,需要一个 锻炼的机会,电话:15807563277 邮件:John_liang.coward@163.com 个人技能 1. 熟悉Linux系统环境,熟练使用常用...

XiaoCon
2014/03/01
649
7

没有更多内容

加载失败,请刷新页面

加载更多

CQRS与AXON

CQRS 看了蛮多文章,只会CRUD,却不懂CQRS,CQRS是遵循DDD思想而产生的一种模式,Command and Query Responsibility Segregation 命令与查询隔离。查询就直接通过正常的模式service调dao层。...

无极之岚
30分钟前
4
0
OSChina 周三乱弹 —— 欢迎你来做产品经理

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @巴拉迪维 :10多次劲歌金曲获奖,更多叱咤歌坛排名,黎明才应该是四大天王之首,只可惜拍的电影太少。单曲循环一个多月的歌,力荐 《无名份的...

小小编辑
45分钟前
90
5
500行代码,教你用python写个微信飞机大战

这几天在重温微信小游戏的飞机大战,玩着玩着就在思考人生了,这飞机大战怎么就可以做的那么好,操作简单,简单上手。 帮助蹲厕族、YP族、饭圈女孩在无聊之余可以有一样东西让他们振作起来!...

上海小胖
今天
8
0
关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
今天
7
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部