论坛首页 Java企业应用论坛

使用WebWork怎么比较session中的某个属性是否等于某个值?

浏览 4153 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2005-04-06  
我试了下面的方法,可是不行,这是为什么啊?
<ww:if test="#session.id == 10" >
...
</ww:if>

给每个比较的表达式上加上“'”也不好用。这是为什么啊?
   发表时间:2005-04-06  
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib uri="webwork" prefix="ww" %>
<%
	//just for test
    request.getSession();.setAttribute("id","10");;
    request.getSession();.setAttribute("id2",new Integer(10););;

%>
<html>
  <head>    
    <title>My JSP 'start.jsp' starting page</title>    
  </head>
  
  <body>
  <ww:if test="#session.id == '10'" > 
	string 
  </ww:if> 
  <br>
  <ww:if test="#session.id2 == 10" > 
	integer 
  </ww:if> 
  </body>
</html>

0 请登录后投票
   发表时间:2005-04-07  
呵呵,你这样做没有问题,可是我这里有问题啊。
页面1 -&gt; action -&gt; 结果页面

页面1
&lt;a href="nav.action?no=4" &gt;Go &lt;/a&gt;

nav.action类代码
public class Navigate extends ActionSupport{
     private String no = "";
        //getter/setter
        public String execute()throws Exception{
            if(this.no != null && !"".equals(this.no)){
                  ActionContext.getContext().getSession().put("id",no);
            }
            return SUCCESS;
        }
}

结果页面
&lt;ww:property value="#session.id" /&gt;

&lt;ww:if test="#session.id == '4'" &gt;
Result is 4
&lt;/ww:if&gt;

&lt;ww:if test="#session.id == '2'" &gt;
Result is 2
&lt;/ww:if&gt;

在结果页面中
&lt;ww:property value="#session.id" /&gt;
能够正确的输出session中的id值。可是这个判断即使条件为真,也无法输出结果。
0 请登录后投票
   发表时间:2005-04-07  
哦.......以前好像有个文章,被删除了

看这里吧

http://www.jscud.com/news/viewnews.jspa?nid=26

or

http://wiki.opensymphony.com/display/WW/FAQ

Why won't the 'if' tag evaluate a one char string?
0 请登录后投票
   发表时间:2005-04-07  
谢谢scud,呵呵,问题解决了.
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics