日期:2014-05-20  浏览次数:20662 次

${ }如何嵌入JSP表达式中?
HTML code

<logic:iterate id="userVO" name="list" scope="request">
    <td><%=com.tools.StringHelper.check("${userVO.name}")%></td>
</logic:iterate>



在JSP迭代用户信息,但是要对其中的用户名进行处理,

所以另行写了一个类:com.tools.StringHelper,里面的check()方法就是对用户名的处理

但是如上面的check("${userVO.name}"),会把${userVO.name}直接当成字符串,似乎不对

应该如何写啊?

------解决方案--------------------
HTML code
<logic:iterate id="userVO" name="list" scope="request">
    <td><%=com.tools.StringHelper.check(((userVO)request.getAttribute("userVO")).getName())%></td>
</logic:iterate>

------解决方案--------------------
为什么不直接在 进入 jsp 之前就验证呢?
------解决方案--------------------
将名称的值定义成一个新的变量也可以取到来进行验证!
------解决方案--------------------
<logic:iterate id="userVO" name="list" scope="request">
<td><%=com.tools.StringHelper.check(userVO.getName())%></td>
</logic:iterate>
------解决方案--------------------
<logic:iterate id="userVO" name="list" scope="request">
<td><%=com.tools.StringHelper.check(((UserVO)request.getAttribute("userVO")).getName())%></td>
</logic:iterate>

------解决方案--------------------
楼上的你试过没有哦? 实践出真理.
------解决方案--------------------
el表达式似乎不能同struts的标签一起用,不兼容,个人一般都不用struts标签!
------解决方案--------------------
<%=com.tools.StringHelper.check(userVO.getName())%>
------解决方案--------------------
setAttribute之前处理一下不就可以了吗?
------解决方案--------------------
不要加双引号吧
------解决方案--------------------
el语法貌似不可以与<%%>连用吧?难道是我孤落寡闻了...?
------解决方案--------------------
咱能不能换个别的方式实现啊,非得在前台做转换啊?
你在后台封装list时修改一下name的值不就行了吗,那时也不真改你数据库的数据
到时候前台直接读取不就行了嘛!
------解决方案--------------------
不要在页面里面经行业务逻辑处理
------解决方案--------------------
不要加双引号
------解决方案--------------------
不加双引号吧。
------解决方案--------------------
<logic:iterate id="userVO" name="list" scope="request"> 
<td> <%=com.tools.StringHelper.check("<bean:write property="${userVO.name}"/>")%> </td> 
</logic:iterate> 
应该是这么写吧!

------解决方案--------------------
mark