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

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);


阅读更多

没有更多推荐了,返回首页