当前位置: 代码迷 >> Java Web开发 >> 关于Struts2标记库中<s:if 访问页面变量,该怎么处理
  详细解决方案

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

热度:195   发布时间:2016-04-17 17:19:17.0
关于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>
  相关解决方案