关于在jsp页面中使用/struts-tags标签库的迭代器时,从ValueStack获取参数使用EL的问题

情况复原下:

  通过valuestack存了个user,然后页面里可以${user.sex}拿到男。${user.sex==‘男‘}拿到ture

  但是在使用 <s:if text="${user.sex==‘男‘}">报错   <c:if text="${user.sex==‘男‘}">可以用

分析:

  我们都知道Struts2是对request进行增强了的,在getAttribute()无法获取数据时,会从ValueStack中获取.

  那么用s标签的if从逻辑上是没有问题的.但是s标签并没有提供完整的el表达式解析的支持.所以会报错

解决:

  <s:if test="user.sex==\"男\"">不使用el直接使用s标签配合ognl表达式获取数据

收获

  收获1:

    最好不要混用EL(JSTL) 和ONGL 等表达式

  收获2:

    尽量少使用单引号,因为单引号可能不被支持,就比如s标签库里的ognl表达式就对单引号不支持.

    尽量使用双引号加/转义的方式.

时间: 2024-09-30 20:12:06

关于在jsp页面中使用/struts-tags标签库的迭代器时,从ValueStack获取参数使用EL的问题的相关文章

在jsp页面中通过struts的标签&lt;s:if&gt;来判断选择显示控件

<s:iterator value="#request.users" var="u"> <!-- 判断该条评论的评论人是不是查看这篇评论的用户,来控制其是否具有删除权限 --> <s:if test="#u.user_id == #request.user.user_id" > <a href="deleteComment?&userBlog.user_id=${u.user_id }&

JSP页面中使用JSTL标签出现无法解析问题解决办法

今天建立一个JavaWeb工程测试JNDI数据源连接,在jsp页面中引入了JSLT标签库,代码如下: 1<%@ page language="java"import="java.util.*"pageEncoding="UTF-8"%> 2<%@ taglib uri="http://java.sun.com/jsp/jstl/core"prefix="c"%> 3<%@ ta

Struts在jsp页面中的一些运用

计应134(实验班) 陈帮政 当Struts配置好了之后我们可以在jsp页面中运用Struts来进行表单的提交. Struts支持a标签,form表单等方式传值a标签通过herf标签来和Struts进行交互在herf中可以通过herf="xxx.acrion?yy=想传入的值"来进行值的传输 在form中则在action中指定Struts响应的action 如:<form action="Studentmassage.action"></form&

jsp页面中某个src,如某个iframe的src,应该填写什么?可以是html、jsp、servlet、action吗?是如何加载的?

jsp页面中某个src,如某个iframe的src,应该填写什么?可以是html.jsp.servlet.action吗?是如何加载的? 如有个test工程,其某个jsp中有个iframe,代码如下: <div class="tc1" style="padding-left: 10px">      <iframe src="${contextpath}/main/getIframeJsp" width="220&qu

jsp页面中如何将时间戳字符串格式化为时间标签

datetag.tld文件: 1 <?xml version="1.0" encoding="ISO-8859-1" ?> 2 <!DOCTYPE taglib 3 PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" 4 "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"> 5

JSP页面中中文乱码问题

在编写Jsp页面的时候,发现写入其中的中文在浏览器浏览的时候会出现乱码的情况. 出现乱码的原因分析: 因为页面中对自己的编码格式的声明和页面的实际编码格式不相同,导致的,所以解决办法就是将页面中的声明的编码格式与页面的实际编码格式设为同一个编码. 这个问题可以这样解决: 首先,在页面顶端,用page指令声明此页的编码格式,比如通过contentType="text/html, utf-8"声明为utf-8格式. 其次,通过project->properties->resou

jsp页面中jstl标签详解

JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的.把常用的内容,放在这里备份一份,随用随查.尽量做到不用查,就可以随手就可以写出来.这算是Java程序员的基本功吧,一定要扎实. JSTL全名为JavaServer Pages Standard Tag Library,目前最新的版本为1.1版.JSTL是由JCP(Java Community Process)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签函数库. Web程序员能够利用JSTL和EL来开发We

jsp页面中引用其他页面的方法

初看这个标题....大家的感觉一定是好2啊.....博主一定要说jsp的动态引用(jsp:include)和静态引用(@include)了.介绍这两者区别的文章已经烂大街了..一搜一大把..博主竟然还来介绍这些老古董..果断alt+F4... 如果你确实是这么想的...那请先别急着关闭页面...今天我来分享一下自己的理解,算是对烂大街的东西的一点补充吧...(后面文字会比较啰嗦) 首先先说明下为什么会去讨论这个话题. 我在写自己的博客程序的时候(blogv2.labofjet.com),程序中的

将flex页面嵌入到jsp页面中

如果我们只需要用到Flex的一部分功能,例如播放器功能,我们可以单独把Flex页面嵌入到Jsp页面中.要想实现此功能,需要下载一个工程,将其覆盖在服务器根目录下即可.你可以在次下载:FlexModule_j2ee.zip. 在eclipse下新建一个web工程,将刚才下载的工程解压缩,然后将webtier文件夹下的内容覆盖服务器根目录下,如本人的: 注意要将lib文件夹和jars文件夹下的jar包添加到到类路径下,这样就算是整合完成了吧. 接着新建一个flex的mxml文件PlayVideo.m