struts.xml中的package介紹
目錄結構
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name></display-name>
<!-- 配置過濾器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>struts2訪問的package</title>
</head>
<body>
<a href="${pageContext.request.contextPath }/a/b/good
</body>
</html>
struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- dtd約束 -->
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- 使用constant元素覆蓋struts2的配置 -->
<!-- 開起開發模式 -->
<constant name="struts.devMove" value="true"></constant>
<!-- 覆蓋預設的副檔名,改成以.do為字尾的-->
<!-- <constant name="struts.action.extension" value="do"></constant> -->
<package name="p1" extends="struts-default" ></package>
<package name="p2" extends="struts-default" namespace="/a/b">
<action name="good" class="cn.mumu.action.HelloAction.HelloAction" method="aimumu">
<result name="success">/success.jsp</result>
</action>
</package>
</struts>
HelloAction.java
package cn.mumu.action.HelloAction;
public class HelloAction {
public String aimumu(){
System.out.println("我相信你一定會成功的!");
return "success";
}
}
packege中的namespace詳解
namespace的預設值:
a.不寫該屬性
b.寫了該屬性,取值是一個" ".
注意:預設值不是/
動作類的搜尋順序:
即:
<a href="${pageContext.request.contextPath }/a/b/good">struts2的案例</a><br/>
先會/a/b,
如果<a href="${pageContext.request.contextPath }/a/b/c/good">struts2的案例</a><br/>
這樣的話,會先去找/a/b/c,有就執行,沒有就找/a/b