日期:2014-05-18  浏览次数:20848 次

logic:equal的简单问题
logic:equal
  该标签为等于比较符。
  eg1. 比较用户的状态属性是否1,若为1,输出"启用";
  eg2. 如果上例中的value值是动态获得的,例如需要通过bean:write输出,因struts不支持标签嵌套,可采用EL来解决该问题。


我现在有问题如下:
 String flag = conf.getProperty("SYSFLAG"); //获得的flag 值为0

 想实现flag = 0 就输出111,不等于0就输出222,
请问怎么写?

------解决方案--------------------
Java code部分:
request.setAttribute("flg", conf.getProperty("SYSFLAG"));
jsp页面部分:
<logic:equal value="1" name="flg">
111
</logic:equal>
<logic:notEqual value="1" name="flg">
111
</logic:notEqual>
------解决方案--------------------

我这个String flag = conf.getProperty("SYSFLAG");的值是在页面获得的,没办法request.setAttribute("flg", conf.getProperty("SYSFLAG")); 

那就把String flag = conf.getProperty("SYSFLAG");放到action里去,在页面和在action是一样的。
------解决方案--------------------
<%request.setAttribute("flg", conf.getProperty("SYSFLAG")); %>

------解决方案--------------------
4L 5L 也可以
放在Session里也可以,但没有这个必要
------解决方案--------------------
都可以,这个flg只要你放入作用域中都行,如:request,session.....
用struts比较的时候,它会到作用域中去找,先从从最小的作用域开始找,也就是先从request中找,如果没有,再到session中去找...,
一层一层的去找.