Make SEO friendly URL with Struts 2.5 project
1. For example, download and import TDD-Struts-Blank.zip
2. Add following lines to /pom.xml
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
2. Add following lines to /src/java/struts.xml
<constant name="struts.action.extension" value=","/>
<constant name="struts.enable.SlashesInActionNames" value="true"/>
Final struts.xml is as:
<?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.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<constant name="struts.action.extension" value=","/>
<constant name="struts.enable.SlashesInActionNames" value="true"/>
<package name="default" namespace="/" extends="struts-default">
<default-action-ref name="index" />
<global-results>
<result name="error">/WEB-INF/jsp/error.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping exception="java.lang.Exception" result="error"/>
</global-exception-mappings>
<action name="index">
<result type="redirectAction">
<param name="actionName">Hello</param>
<param name="namespace">/</param>
</result>
</action>
</package>
<include file="blank.xml"/>
<!-- Add packages here -->
</struts>
3. Modify /src/java/blank.xml as following:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="blank" namespace="/" extends="struts-default">
<action name="p/*/*" class="blank.HelloAction">
<param name="code">{1}</param>
<param name="slug">{2}</param>
<result>/WEB-INF/jsp/blank/Hello.jsp</result>
</action>
</package>
</struts>
4. Modify /src/java/blank/HelloAction.java as following:
package blank; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.opensymphony.xwork2.ActionSupport; public class HelloAction extends ActionSupportimplements org.apache.struts2.interceptor.ServletRequestAware, org.apache.struts2.interceptor.ServletResponseAware{ public String execute() throws Exception { setMessage(getText(MESSAGE)); return SUCCESS; } public static final String MESSAGE = "message"; private String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; }private String code;public String getCode() {return code;}public void setCode(String code) {this.code = code;}private String slug;public String getSlug() {return slug;}public void setSlug(String slug) {this.slug = slug;}private HttpServletResponse response;@Overridepublic void setServletResponse(HttpServletResponse response) {this.response = response;}private HttpServletRequest request;@Overridepublic void setServletRequest(HttpServletRequest request) {this.request = request;}}
Tuesday, May 31, 2016
at
3:15 AM
Blog Archive
-
▼
2016
(29)
-
▼
May
(17)
- Make SEO friendly URL with Struts 2.5 project
- Initiative Struts 2.5 project for test driven deve...
- Struts 2 in Action
- "The mbstring extension is missing." error when in...
- Skill - Develop java desktop application using tes...
- Skill - Develop java web application using test dr...
- Skill - Develop native android application using t...
- Skills of Trần Đình Thoại
- Install Android Studio 2.0 on Ubuntu Desktop 16.04
- Trần Đình Thoại on EscapeNotes project
- Tutorial of Orinus - JavaScript SandBox
- Install and customize Pedatus 1.3 - Micro Search E...
- Install and configure Orinus 1.2 for Linux | Tutor...
- Install and configure Orinus 1.2 for Windows | Tut...
- Create search engine | Tutorial of Orinus - JavaSc...
- Create basic script | Tutorial of Orinus - JavaScr...
- Screenshots of Orinus - JavaScript SandBox
-
▼
May
(17)




