首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

关于Struts2标记库中<s:if 访问页面变量,该怎么处理

2012-02-25 
关于Struts2标记库中s:if 访问页面变量关于Struts2标签库中s:if 访问页面变量 如下一个JSP页面代码,先用

关于Struts2标记库中<s:if 访问页面变量
关于Struts2标签库中<s:if 访问页面变量 如下

一个JSP页面代码,先用一个%符定义了一个变量,想用标签库来访问
========================================
<%! int rown = 2; %>
  <s:if test="rown==1">
  <h1>rown的值为1</h1>
  </s:if> 
  <s:elseif test="rown==2">
  <h1>rown的值为2</h1>
  </s:elseif>

但上面实际上访问不成功,怎么实现呢? HELP。。。

[解决办法]
这个变量用对象的属性是可以取到值的
你可以用request.setAttribute()来看看能不能取到值
[解决办法]
<s:set/>标签
[解决办法]
要比较的值必须放在作用域里,page,request,session...
[解决办法]

探讨
我在网上查了,说这个可以,我也用了
<s:set name="pagrown" value="rown" scope="page"> </s:set>

<s:if test="#pagrown==1">
<h1>rown的值为1 </h1>
</s:if>
<s:elseif test="#pagrown==2">
<h1>rown的值为2 </h1>
</s:elseif>

但测试没有成功,条件返回FALSE;麻烦帮我看看是不是哪写错了?

[解决办法]
用标签就全用标签 
HTML code
  <s:set  var="wown"  value="1" >    <s:if test="rown=1">         <h1>rown的值为1 </h1>     </s:if>     <s:elseif test="rown==2">         <h1>rown的值为2 </h1>     </s:elseif>
[解决办法]
用<s:set/>标签,不写scope的话,它可以将值写到ognl中的Stack Context
HTML code
  <s:set  var="rown"  value="1" >    <s:if test="#rown==1">        <h1>rown的值为1 </h1>    </s:if>    <s:elseif test="#rown==2">        <h1>rown的值为2 </h1>    </s:elseif>
[解决办法]
Java code
    <s:set  name="pagrown" var="rown"  value="2"></s:set>    <s:if test="#rown==1">        <h1>rown的值为1 </h1>    </s:if>    <s:elseif test="#rown==2">        <h1>rown的值为2 </h1>    </s:elseif>
[解决办法]
楼上的各位set 那有var属性啊。我晕
JScript code
<s:set name="rown" value="2"  ></s:set><s:if test="#rown==1">rown的值为1</s:if><s:elseif test="#rown==2">rown的值为2</s:elseif> 

热点排行