使用struts2.2.1注释与netbeans 6.9无法正常工作

时间:2010-09-16 05:48:14

标签: struts2 annotations netbeans-6.9

你好我正在为struts2.2.1做会议plugin,netbeans6.9的例子 而且似乎有些不对劲。我甚至可以复制/粘贴所有内容。我知道了:

“错误消息是$ {message}”     什么时候应该

“错误消息是Hello World”

我无法发布结构,但我按照教程将jsp放在WEB-INF下 但没什么

web.xml

<web-app>
<display-name>My Application</display-name>
<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>

<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
<session-config>
    <session-timeout>
        30
    </session-timeout>
</session-config>
<welcome-file-list>
    <welcome-file>hello-world.jsp</welcome-file>
</welcome-file-list>

myaction:

package com.example.actions;
import com.opensymphony.xwork2.ActionSupport;

public class HelloWorld extends ActionSupport {
  private String message;

  public String getMessage() {
   return message;
  }

  public String execute() {
   if (System.currentTimeMillis() % 2 == 0) {
       message = "It's 0";
       return "zero";
   }

    message = "It's 1";
    return SUCCESS;
  }

}

您好-world.jsp

<html>
<body> 
The Error message is ${message}
</body>
</html>

我认为我不需要strut.xml文件。我真的很沮丧 非常感谢任何帮助或者你不能用struts2.2.1做注释吗?

1 个答案:

答案 0 :(得分:0)


你在web.xml中拥有welcome文件的方式只显示“错误信息是”。

您需要直接进行操作,以便获得初始值。你需要一个像这样的附加index.html:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <title>Dummy Project</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <META HTTP-EQUIV="Refresh" CONTENT="0;URL=hello.action">
</head>

<body>
<p>Project is Loading ...</p>
</body>
</html> 

Index.html应该是您web.xml中的欢迎文件。你的struts.xml在这里:

<struts>
   <constant name="struts.devMode" value="true"/>
   <include file="struts-default.xml"/>
    <package name="foo" extends="struts-default">
        <action name="hello" class="com.example.action.HelloWorld">
            <result name="success">/hello-world.jsp</result>
        </action>
    </package>
</struts>

“你好”是你的行动。这里只需要“成功”的结果。操作运行后,您将被重定向到hello-world.jsp:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<%@taglib uri="/struts-tags" prefix="s" %>

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        The Error message is ${message}
    </body>
</html>

这是你的HelloWorld.java。 Execute()仅返回SUCCESS。这应该足够了。

package com.example.action;
import com.opensymphony.xwork2.ActionSupport;

public class HelloWorld extends ActionSupport {
    private String message;

    public String getMessage() {
        return message;
    }

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

    public HelloWorld() {
    }

    @Override
    public String execute() {
        if (System.currentTimeMillis() % 2 == 0)
            message = "It's 0";
        else 
            message = "It's 1";
        return SUCCESS;
    }
}

你当然也可以用注释做同样的事情。这项工作应该很容易。 我使用这个NetBeans Struts2 Support插件。享受...

Costis