Struts2框架使用(三)之struts.xml配置
阿新 • • 發佈:2017-12-17
package row port dtd tac 結構 www. turn doc
在Struts2的配置文件中,可以采用分模塊的方法來配置,在功能復雜的系統中,使用分模塊方法,可以使結構更清晰。
例如:
下面,有車輛模塊以及資產模塊,將其分為兩個xml文件。
<?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="cheliang" namespace="/cheliang" extends="struts-default"> <action name="cheliang" class="com.mrlv.action.CheLiangAction"> <result name="success">${pageContext.request.contextPath}/success.jsp</result> </action> </package> </struts>
<?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="zichan" namespace="/zichan" extends="struts-default"> <actionname="zichan" class="com.mrlv.action.ZiChanAction"> <result name="success">${pageContext.request.contextPath}/success.jsp</result> </action> </package> </struts>
然後再struts.xml整合。
<?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> <include file="cheliang.xml"></include> <include file="zichan.xml"></include> </struts>
如此項目結構就更加清晰了。
接下來是使用通配符和動態方法。
首先創建index.jsp頁面。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <h1>通配符</h1> <a href="student_list" target="_blank">學生信息查詢</a> <a href="student_add" target="_blank">學生信息添加</a> <a href="student_update" target="_blank">學生信息修改</a> <a href="student_delete" target="_blank">學生信息刪除</a> <br/><br/> <a href="grade_list" target="_blank">班級信息查詢</a> <a href="grade_add" target="_blank">班級信息添加</a> <a href="grade_update" target="_blank">班級信息修改</a> <a href="grade_delete" target="_blank">班級信息刪除</a> <br/> <!-- --> <h1>動態方法調用</h1> <a href="student!list" target="_blank">學生信息查詢</a> <a href="student!add" target="_blank">學生信息添加</a> <a href="student!update" target="_blank">學生信息修改</a> <a href="student!delete" target="_blank">學生信息刪除</a> <br/><br/> <a href="grade!list" target="_blank">班級信息查詢</a> <a href="grade!add" target="_blank">班級信息添加</a> <a href="grade!update" target="_blank">班級信息修改</a> <a href="grade!delete" target="_blank">班級信息刪除</a> <br/> </body> </html>
創建好jsp頁面後,寫Action,如下:
package com.mrlv.action; import com.opensymphony.xwork2.ActionSupport; public class StudentAction extends ActionSupport{ /** * */ private static final long serialVersionUID = 1L; private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public String list()throws Exception{ System.out.println("學生查找"); name="學生查找"; return SUCCESS; } public String add()throws Exception{ System.out.println("學生添加"); name="學生添加"; return SUCCESS; } public String update()throws Exception{ System.out.println("學生修改"); name="學生修改"; return SUCCESS; } public String delete()throws Exception{ System.out.println("學生刪除"); name="學生刪除"; return SUCCESS; } }
註意:這裏的方法命名是有規範的。
接下來配置struts.xml文件:
<?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> <include file="cheliang.xml"></include> <include file="zichan.xml"></include> <package name="manage" namespace="/" extends="struts-default"> <action name="student_*" class="com.mrlv.action.StudentAction" method="{1}"> <result name="success">success.jsp</result> </action> <action name="grade_*" class="com.mrlv.action.GradeAction" method="{1}"> <result name="success">success.jsp</result> </action> <!-- 更加方便的寫法,不過這個寫法需要將jsp頁面的href的第一個字母大寫,這也是命名規範的原因 <action name="*_*" class="com.java1234.action.{1}Action" method="{2}"> <result name="success">success.jsp</result> </action> --> </package> <!-- 開啟動態方法調用:--> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> </struts>
接下來,將項目跑起來。
如此。便是運行成功了。
Struts2框架使用(三)之struts.xml配置