Frage

I have problem with Struts2 action method and struts.convention.result.path Here is my struts.xml

<struts>
    <constant name="struts.action.extension" value="" />
    <constant name="struts.action.excludePattern" value="/.*\.(html|jsp),/static/.*"/>
    <constant name="struts.convention.result.path" value="/WEB-INF/pages/" />
    <package name="user" namespace="/user" extends="struts-default">
        <action name="login" class="loginAction" method="login">
            <result name="success">login.jsp</result>
        </action>
    </package>
<struts>

When I run url "localhost:8080/venus/user/login". It display error "HTTP Status 404 - /venus/user/login.jsp"

If I change login() method to execute() method, it works. Or if I change to <result name="success">/WEB-INF/pages/login.jsp</result>, it works.

Can anyone explain and teach me how use action method with result path config in xml? Thank you very much!

War es hilfreich?

Lösung

You should specify the absolute path name.

<result name="success">/login.jsp</result>

Andere Tipps

When using Convention plugin, xml configuration isn't needed:

  • com.mycompany.actions.user -> namespaces "user"
  • LoginAction -> login.action
  • LoginAction#execute -> success -> user/login.jsp
  • LoginAction#login -> success -> user/login(-login|-success).jsp
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top