我的类很简单package test;public class HelloWorld {
private String message; public String getMessage() {
return message;
} public void setMessage(String message) {
this.message = message;
}

public String execute() throws Exception{
this.message="a";
return "success";
}
}
配置:<struts> <package name="test" namespace="/test" extends="struts-default">
<action name="HelloWorld" class="test.HelloWorld">
<result name="success">/index.jsp</result>
</action>
</package>
</struts>   页面:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>  </head>  <body>
    <s:property value="#request.message" />  
  </body>
</html>现在问题是,我在body里面用
${message}   则直接在页面显示字符串"${message}"   而不是message的值"a"问题二:
<s:property value="#message" />  这样也不行,页面是空的,没打印出东西来```我本以为message应该是OGNL根对象的值``应该用${message}或者``<s:property value="#message" /> 可以打印出来的```我真的很不喜欢连输出一个小小的字符串也要加一个``s:property ``标签``
请教各位大大```要怎么才能用${message} 来值接输出````我参考的教程上写着是可以的```我晕`

解决方案 »

  1.   

    在你的类 里 加:this.getRequest().setAttribute("message", message);前台直接用el 表达式 来获取即可
      

  2.   

    EL表示式需要引入jstl标签吗?
      

  3.   


    我${message}直接显示字面量"${message}",说明jsp根本没认出这是一个EL表示式````
    退一步说```<s:property value="#request.message" />   可以打印出变量值,说明我这个message以经在request里面````
    不过谢谢,我去试试吧``有时候程序就是这么变态,看起来不可能``结果他就是这样````
      

  4.   

    没识别EL表达式,在<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>里面填上isELIgnored="false"应该就可以了。
      

  5.   

    <s:property value="#message" />写成<s:property value="message" />应该就有值了
      

  6.   


    你太透彻了`````我记得以前有时候也用过``isELIgnored这个属性``但是为什么有时候不需要设置它也可以,有时候又不行```````总结不出原因来```
      

  7.   

    struts2的标签中不能使用EL表达式,只能用OGNL表达式