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)