Files
struts2-demo/web/WEB-INF/classes/struts.xml

95 lines
3.7 KiB
XML
Raw Normal View History

2026-03-18 15:18:30 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<constant name="struts.devMode" value="false"/>
2026-03-18 15:18:30 +08:00
<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
<constant name="struts.i18n.encoding" value="UTF-8"/>
<constant name="struts.action.extension" value="action"/>
<package name="default" namespace="/" extends="json-default">
<interceptors>
<interceptor name="auth" class="com.demo.action.interceptor.AuthInterceptor"/>
<interceptor-stack name="secureStack">
<interceptor-ref name="auth"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<global-results>
<result name="login" type="redirectAction">loginPage</result>
</global-results>
2026-03-18 15:18:30 +08:00
<action name="index">
<result>/WEB-INF/views/index.jsp</result>
</action>
<action name="loginPage">
<result>/WEB-INF/views/user/login.jsp</result>
2026-03-18 15:18:30 +08:00
</action>
2026-03-18 18:12:20 +08:00
2026-03-18 15:18:30 +08:00
<action name="hello" class="com.demo.action.HelloAction" method="execute">
<result>/hello.jsp</result>
</action>
2026-03-18 18:12:20 +08:00
2026-03-18 15:18:30 +08:00
<action name="login" class="com.demo.action.LoginAction" method="execute">
<result name="success" type="redirectAction">dashboard</result>
<result name="input">/WEB-INF/views/user/login.jsp</result>
</action>
<action name="dashboard" class="com.demo.action.DashboardAction" method="execute">
<interceptor-ref name="secureStack"/>
<result>/WEB-INF/views/user/dashboard.jsp</result>
</action>
<action name="logout" class="com.demo.action.LogoutAction" method="execute">
<result type="redirectAction">loginPage</result>
</action>
<action name="userFormPage">
<interceptor-ref name="secureStack"/>
<result>/WEB-INF/views/user/form.jsp</result>
</action>
<action name="validationPage">
<interceptor-ref name="secureStack"/>
<result>/WEB-INF/views/validation/form.jsp</result>
</action>
<action name="uploadPage">
<interceptor-ref name="secureStack"/>
<result>/WEB-INF/views/upload/index.jsp</result>
2026-03-18 15:18:30 +08:00
</action>
2026-03-18 18:12:20 +08:00
2026-03-18 15:18:30 +08:00
<action name="submitUser" class="com.demo.action.UserAction" method="submit">
<interceptor-ref name="secureStack"/>
<result name="success">/WEB-INF/views/user/success.jsp</result>
<result name="input">/WEB-INF/views/user/form.jsp</result>
2026-03-18 15:18:30 +08:00
</action>
2026-03-18 18:12:20 +08:00
2026-03-18 15:18:30 +08:00
<action name="upload" class="com.demo.action.FileUploadAction" method="execute">
<interceptor-ref name="secureStack"/>
<result name="success">/WEB-INF/views/upload/success.jsp</result>
<result name="input">/WEB-INF/views/upload/index.jsp</result>
2026-03-18 15:18:30 +08:00
</action>
2026-03-18 18:12:20 +08:00
2026-03-18 15:18:30 +08:00
<action name="ajax" class="com.demo.action.AjaxAction" method="execute">
<result type="json"/>
</action>
2026-03-18 18:12:20 +08:00
2026-03-18 15:18:30 +08:00
<action name="validate" class="com.demo.action.ValidationAction" method="execute">
<interceptor-ref name="secureStack"/>
<result name="success">/WEB-INF/views/validation/success.jsp</result>
<result name="input">/WEB-INF/views/validation/form.jsp</result>
2026-03-18 15:18:30 +08:00
</action>
</package>
2026-03-18 18:12:20 +08:00
<package name="rest" namespace="/api" extends="json-default">
2026-03-18 18:12:20 +08:00
<action name="users" class="com.demo.action.rest.UserRestAction" method="execute">
2026-03-18 15:18:30 +08:00
<result type="json"/>
</action>
</package>
2026-03-18 18:12:20 +08:00
</struts>