新手,正在学习用Struts2struts.xml代码如下:<?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>
<include file="struts-default.xml" />
<package name="tutorial" extends="struts-default">
     <action name="HelloWorld" class="tutorial.HelloWorld">
     <result>/HelloWorld.jsp</result>
     </action>
</package>
</struts>
HelloWorld.jsp代码如下:<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <title>Hello World!</title>
  </head>
  
  <body>
<h2>
<s:property value="message" />
</h2>
  </body>
</html>
HelloWorld.java代码如下:package tutorial;import com.opensymphony.xwork2.ActionSupport;public class HelloWorld extends ActionSupport
{
@Override
public String execute() throws Exception
{
message = "Struts is up and running ...";
return SUCCESS;
}

private String message;

public String getMessage()
{
return message;
} public void setMessage(String message)
{
this.message = message;
}

}
问题:
1.在HelloWorld.jsp中没有为何显示message字符串?
2.struts.xml文件中的<result>/HelloWorld.jsp</result>和<result>HelloWorld.jsp</result>斜杠有何没有的区别在哪里?

解决方案 »

  1.   

    1.在jsp里加上<s:debug></s:debug>看看value stack 里有没有message这项,还有就是试试这样private String message=Struts is up and running ...";
    看JSP里有了吗?还有就是试试在敲URl地址时加上参数?message=Struts is up and running ...再试试,学习就要多试~~~
    2.加/一般用于JSP(必须加),不加是用于action(必须不能加),其实学到后面这些你都会自己明白的~~( ⊙ o ⊙ )!
      

  2.   

    非常杯具的说你听,以前都遇到这样的问题,后来发现是因为文件命名叫HelloWorld就不行了,命名其他名字就没问题了。
      

  3.   

    回1L:
        1.在加上<s:debug></s:debug>后,value stack中没有message项,加上
        2.URl地址时加上参数?message=Struts is up and running ...后依旧没有显示.
      

  4.   

    你的代码里,没看到将Message存入request里面呀,action也不会自动存的吧。
      

  5.   

    应该是你配置的问题。
    Action中定义message属性,且有get/set方法,就能取到值。
      

  6.   

    如果执行了action,也跳转到了界面,就是信息不显示,那估计是RP问题了,自己仔细检查一下吧!
      

  7.   

    <s:property value="message" />
    改为:
          <s:property value="#message" />
    或者改为:
    <s:property value="#request.message" />
      

  8.   

    发现一个新的问题:
      如果新增一个test.JSP页面,代码如下:<s:form action="HelloWorldTest">
    <s:textfield name="message" />
    <s:submit />
    </s:form>在HelloWorld.jsp中确可以取到值?难道是我哪里配置出了问题?
      

  9.   


    我用的是MyEclipse 8.0,就只有在SRC下新增了一个struts.xml,内容已经贴出来了,其他都没有什么变化的.