您的位置:首页 > Web前端 > JavaScript

jsp中(s标签)各种基本的表达

2013-06-04 09:35 232 查看
1. 执行action中的某一放方法时,在action的name后面加叹号,action后面加问号,表示传值。

userAction!add.action?user.userId="admin"
同时,这里等号后面也可以用s标签来代替,如
user.userId=<s:property value="#user.userId" />


2. 在表达方法前加#表示取值,如

<s:property value="#user.userId" />
。但是注意,并不是所有的都要加#,只有在遍历(List)的时候,即要从多个值中取出一个的时候,才加#(我是这么理解的,不知道正确不,但是从实际代码来看,是对的)。

比如我在userAction里面定义了一个变量:

private User user;
private List<User> users;


(……省略get和set方法)

在jsp中取值的时候,User类型就是

<s:property value="user.userId" />


而List<User>的取值方法是用遍历:

<s:iterator value="users" var="user" status="status">
<s:property value="#status.index+1"/>
<s:property value="#user.userId" />
</s:iterator>


3. input隐藏取值时,打印出来总是在值的前面有逗号。是因为同一个jsp页面中,还存在其他元素的name与该隐藏域的name一致,才会输出两个值,但是有一个值是空值,所以只能打印出逗号与另一个值。

<input type="hidden" name="id" value="admin" />


4. 判断页面上某一个值与从action中request传过来的是否一致,用

<s:if test="#request.id==null"></s:if>
aciton中:

HttpServletRequest request = ServletActionContext.getRequest();
request.setAttribute("id", user.userId);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: