这是struts 文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd"><struts>
    <package name="itcast" namespace="/test" extends="struts-default">
          <action name="helloworld" class="cn.itcast.action.HelloWorldAction" method="execute">
               <result name="success">/WEB-INF/page/hello.jsp</result>
          </action>
    </package>
</struts>
这是HelloWorldAction代码
package cn.itcast.action;public class HelloWorldAction {
private String message;

    public String getMessage() {
return message;
} public String execute(){
message="我的第一个struts2应用";    
     return "success";
    }
}
这是jsp代码 <body>
     ${message }
  </body>
</html>
我在浏览器里输入http://127.0.0.1:8080/struts/test/helloworld
却不能输出action中的message信息?这是为什么?

解决方案 »

  1.   

    没看你把message放入request.setAttribute() 或者引入了什么视图啊?
      

  2.   

        把你的message set下看看。  还有就是你看看在你的action中输出一句话。 看看能进入这action吗。
      

  3.   

    我的案例是按视频敲得的,老师也没有使用set方法,而是直接对message赋值的,我这是才开始学struts,所以很多地方还不明白。
      

  4.   

    message的set,get方法没有。      请求经过structs的FC时,会调用action里面属性的set方法,在页面显示的时候调用的是get方法
      

  5.   

    从你代码来看,一点问题都没有,我不知道,你那里的环境是怎样的!如果你的!hello.jsp 中
    ${message} 没有解析的话,将${message}输入到页面上来了的话,我建议你在jsp声明中,加入;
       
       <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"  isELIgnored="false" %>
      

  6.   

    从你代码来看,一点问题都没有,我不知道,你那里的环境是怎样的!如果你的!hello.jsp 中
    ${message} 没有解析的话,将${message}输入到页面上来了的话,我建议你在jsp声明中,加入;
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"  isELIgnored="false"  %>