日期:2014-05-19  浏览次数:20676 次

给位大神,请教一个关于STRUTS2里面获取值的问题
就是我在单使用STRUTS2这个框架来做项目的时候,在前台使用$并不能够获取,反而我用了
<s:textfield name="username"  label="用户名" value="%{#attr.users.username}" readonly="true"></s:textfield>  
方法却获取到了,请教各位大神,这是为什么呀?
就是我使用$获取的话,一定就会报500错误,这到底是什么原因呢?我的这种获取方法也是别人给我讲的,跪求解释这是什么原因!!!谢谢了,小弟拜谢
------解决方案--------------------
struts2是和ognl配合使用的。el是和jstl配合使用的。struts2标签不允许使用el表达式因为struts2标签解析类的源代码中就是这样规定的
------解决方案--------------------
7L回答言简意赅,+10086!

1.$开头的是el表达式,需要导入jstl包<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

2.#开头的是ognl表达式,需要导入struts的包<%@ taglib prefix="s" uri="/struts-tags" %>

ps:目测lz没有导jstl的包所以无法使用el表达式。

ps的ps:这两种表达式不冲突,完全可以混合使用,只要同时将两个包导入即可。