использование аннотаций struts2.2.1 с неработающими компонентами NetBeans 6.9 - PullRequest
0 голосов
/ 16 сентября 2010

Здравствуйте, я делаю соглашение плагин для struts2.2.1, примеры с netbeans6.9 и кажется, что что-то не так.Я даже копирую / вставляю все и ничего.rightnow Я получаю:

"Сообщение об ошибке $ {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;
  }

}

hello-world.jsp

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

Не думаю, что мне нужен файл strut.xml.Я действительно расстраиваюсь здесь, был бы очень признателен за любую помощь, или вы не можете делать аннотации с Struts2.2.1?

1 Ответ

0 голосов
/ 14 ноября 2010


Если у вас есть файл приветствия в файле web.xml, он будет отображать только «Сообщение об ошибке».

Вам нужно сразу перейти к действию, чтобы получить начальное значение. Вам нужен дополнительный 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 () возвращает только УСПЕХ. Этого должно быть достаточно.

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;
    }
}

Вы, конечно, можете сделать то же самое с аннотациями. Это должно быть легко сделать эту работу. Я использую этот плагин Поддержка Struts2 NetBeans . Наслаждайтесь ...

Стоимость

...