17 个解决方案
#1
<s:iterator>会自动分范围查找对应变量,c:foreach不会
#2
第二行加入 <%@ page isELIgnored="false" %> 试试
#3
<c:foreach>要导入jstl.jar和几个tld,而且页面还要用taglib引入。。如果不行,那就干脆用struts2标签就够了啊。。
#4
可能是导包出现问题了吧,正常来说,<c:foreach>和<s:iterator>是可以相互替换的。
#5
Struts2是有个值栈的,所有的东西,session、request。。。。。等等都是被压到值栈中,从值栈中取东西好像要加“#”,并且有时候值栈中的某些东西根本就不是那个键了。有个方法可以显示在页面上显示值栈。
但是我忘了。。。
但是我忘了。。。
#6
EL表达式没有禁用,在jsp用<% %>声明的变量用EL又取得出来
#7
你的拦截器interceptor这个的顺序可能错误了
看看你自己写过默认的拦截器没有
要吧defaultStack这个拦截器放在最前面,让他最先执行
而且如果你用了默认的拦截器,你又在某个action里面定义你自定义的其他拦截器,那你默认的拦截器便会失效!等于是struts2的核心你都没有了!
如果你定义了默认的有想在某个action里用到你自定义的拦截器,又不想struts的其他拦截器失效,那就在要用的那个action里把默认的拦截器放在上面
建议你把自定义的拦截器先不要试试,或者全部的拦截器都不要试试,看看能不能获到值,如果可以说明是拦截器除了问题!
看看你自己写过默认的拦截器没有
要吧defaultStack这个拦截器放在最前面,让他最先执行
而且如果你用了默认的拦截器,你又在某个action里面定义你自定义的其他拦截器,那你默认的拦截器便会失效!等于是struts2的核心你都没有了!
如果你定义了默认的有想在某个action里用到你自定义的拦截器,又不想struts的其他拦截器失效,那就在要用的那个action里把默认的拦截器放在上面
建议你把自定义的拦截器先不要试试,或者全部的拦截器都不要试试,看看能不能获到值,如果可以说明是拦截器除了问题!
#8
不对吧?默认拦截器是得放在后面才行吧。不然会被你自己写的拦截器给覆盖掉,默认拦截器应该是放在最后面的
#9
我都没用自定义拦截器啊
#10
用s标签都可以用,但是一旦与EL沾边,就取值为空,奇怪得很,找了很久,代码似乎没错啊!
#11
看看你的具体代码
注:如果是struts2.1以后的版本,就不支持EL表达式了啊。建议不用。
注:如果是struts2.1以后的版本,就不支持EL表达式了啊。建议不用。
#12
如果标签是对这呢,就是标签没有导入包
#13
应该是标签的标签库没有导入吧<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
#14
直接用struts2标签不是挺好吗。
#15
就是2.1的
#16
导包<%@ taglib prefix="c" uri=" http://java.sun.com/jsp/jstl/core" %>就ok了
#17
用<s:property>避过了,可能是导Struts2的jar包出问题了,又做了一份,代码没变EL正常的
#1
<s:iterator>会自动分范围查找对应变量,c:foreach不会
#2
第二行加入 <%@ page isELIgnored="false" %> 试试
#3
<c:foreach>要导入jstl.jar和几个tld,而且页面还要用taglib引入。。如果不行,那就干脆用struts2标签就够了啊。。
#4
可能是导包出现问题了吧,正常来说,<c:foreach>和<s:iterator>是可以相互替换的。
#5
Struts2是有个值栈的,所有的东西,session、request。。。。。等等都是被压到值栈中,从值栈中取东西好像要加“#”,并且有时候值栈中的某些东西根本就不是那个键了。有个方法可以显示在页面上显示值栈。
但是我忘了。。。
但是我忘了。。。
#6
EL表达式没有禁用,在jsp用<% %>声明的变量用EL又取得出来
#7
你的拦截器interceptor这个的顺序可能错误了
看看你自己写过默认的拦截器没有
要吧defaultStack这个拦截器放在最前面,让他最先执行
而且如果你用了默认的拦截器,你又在某个action里面定义你自定义的其他拦截器,那你默认的拦截器便会失效!等于是struts2的核心你都没有了!
如果你定义了默认的有想在某个action里用到你自定义的拦截器,又不想struts的其他拦截器失效,那就在要用的那个action里把默认的拦截器放在上面
建议你把自定义的拦截器先不要试试,或者全部的拦截器都不要试试,看看能不能获到值,如果可以说明是拦截器除了问题!
看看你自己写过默认的拦截器没有
要吧defaultStack这个拦截器放在最前面,让他最先执行
而且如果你用了默认的拦截器,你又在某个action里面定义你自定义的其他拦截器,那你默认的拦截器便会失效!等于是struts2的核心你都没有了!
如果你定义了默认的有想在某个action里用到你自定义的拦截器,又不想struts的其他拦截器失效,那就在要用的那个action里把默认的拦截器放在上面
建议你把自定义的拦截器先不要试试,或者全部的拦截器都不要试试,看看能不能获到值,如果可以说明是拦截器除了问题!
#8
不对吧?默认拦截器是得放在后面才行吧。不然会被你自己写的拦截器给覆盖掉,默认拦截器应该是放在最后面的
#9
我都没用自定义拦截器啊
#10
用s标签都可以用,但是一旦与EL沾边,就取值为空,奇怪得很,找了很久,代码似乎没错啊!
#11
看看你的具体代码
注:如果是struts2.1以后的版本,就不支持EL表达式了啊。建议不用。
注:如果是struts2.1以后的版本,就不支持EL表达式了啊。建议不用。
#12
如果标签是对这呢,就是标签没有导入包
#13
应该是标签的标签库没有导入吧<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
#14
直接用struts2标签不是挺好吗。
#15
就是2.1的
#16
导包<%@ taglib prefix="c" uri=" http://java.sun.com/jsp/jstl/core" %>就ok了
#17
用<s:property>避过了,可能是导Struts2的jar包出问题了,又做了一份,代码没变EL正常的