Skip to content

Instantly share code, notes, and snippets.

@anas-didi95
Last active July 23, 2018 07:54
Show Gist options
  • Save anas-didi95/c0551ed6c11fc8fb2522c487beb9bcec to your computer and use it in GitHub Desktop.
Save anas-didi95/c0551ed6c11fc8fb2522c487beb9bcec to your computer and use it in GitHub Desktop.
struts2_struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts
Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.devMode" value="false" />
<constant name="struts.action.extension" value=",action"/>
<package name="web.index" extends="struts-default" namespace="/">
<default-action-ref name="index"/>
<action name="index" method="executeIndex" class="controllers.IndexAction">
<result name="success">/views/index.jsp</result>
</action>
<action name="register" method="executeRegister" class="controllers.IndexAction">
<result name="success">/views/register/form.jsp</result>
</action>
</package>
<package name="web.register" extends="struts-default" namespace="/register">
<action name="create" method="executeCreate" class="controllers.RegisterAction">
<result name="input">/views/register/form.jsp</result>
<result name="success">/views/register/create.jsp</result>
</action>
</package>
<package name="web.login" extends="struts-default" namespace="/login">
<action name="index" method="executeLogin" class="controllers.LoginAction">
<result name="input">/views/index.jsp</result>
<result name="success" type="redirectAction">
<param name="actionName">dashboard</param>
<param name="namespace">/home</param>
</result>
<result name="error">/views/index.jsp</result>
</action>
<action name="logout" method="executeLogout" class="controllers.LoginAction">
<result name="success" type="redirectAction">
<param name="actionName">index</param>
<param name="namespace">/</param>
</result>
</action>
</package>
<package name="web.logout" extends="struts-default,default" namespace="/logout">
<action name="index" method="executeLogout" class="controllers.LogoutAction">
<interceptor-ref name="loginStack"/>
<result name="success">/views/logout.jsp</result>
</action>
</package>
<package name="web.home" extends="struts-default,default" namespace="/home">
<action name="dashboard" method="executeDashboard" class="controllers.HomeAction">
<interceptor-ref name="loginStack"/>
<result name="success">/views/home/dashboard.jsp</result>
</action>
<action name="userList" method="executeUserList" class="controllers.HomeAction">
<interceptor-ref name="loginStack"/>
<result name="success">/views/home/userlist.jsp</result>
</action>
<action name="logList" method="executeLogList" class="controllers.HomeAction">
<interceptor-ref name="loginStack"/>
<result name="success">/views/home/loglist.jsp</result>
</action>
</package>
<package name="api" extends="json-default" namespace="/api">
<action name="getUsers" method="executeGetUsers" class="controllers.ApiAction">
<result name="success" type="json">
<param name="noCache">true</param>
<param name="root">users</param>
<param name="excludeProperties">
logHistorySet
</param>
</result>
</action>
<action name="getLogs" method="executeGetLogs" class="controllers.ApiAction">
<result name="success" type="json">
<param name="noCache">true</param>
<param name="root">logs</param>
</result>
</action>
</package>
<package name="default" extends="struts-default">
<interceptors>
<interceptor name="loginInterceptor" class="interceptors.LoginInterceptor"/>
<interceptor-stack name="loginStack">
<interceptor-ref name="loginInterceptor"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<global-results>
<result name="login" type="redirectAction">
<param name="actionName">index</param>
<param name="namespace">/</param>
</result>
</global-results>
</package>
</struts>
@anas-didi95
Copy link
Author

anas-didi95 commented Jul 19, 2018

struts.xml Constants

Name Description
struts.devMode Provide additional logging and debug information.
Available value attribute:
- true
- false
https://cwiki.apache.org/confluence/display/WW/devMode
struts.action.extension Allows to configure the action extension.
Available value attribute:
- html extension: html
- no extension: , (comma)
- action or no extension: ,action
https://www.j2eekart.com/2015/06/action-extension-in-struts2.html

struts.xml Packages

Attribute Description
name Required. For defining any package.
extends Required. Default: struts-default.
namespace Optional.
/actionName.action ## not present
/namespaceName/actionName.action ## present

https://www.javatpoint.com/struts-2-configuration-file

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment