Struts(三) 萬用字元講解

u013457570發表於2016-12-24

1、萬用字元講解

    萬用字元的使用一般是在專案經理約定之後才能很好的使用;首先對於萬用字元而言更加簡潔配置檔案的配置

1.2、web.xml檔案

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	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_2_5.xsd">
  <display-name></display-name>	
  
  <!-- 訪問地址: http://localhost:8081/Struts2_2016_0100_HelloWord/hello -->
   <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>

1.2、Struts2配置檔案

<?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>

   <!--  <constant name="struts.enable.DynamicMethodInvocation" value="false" /> -->
   <!-- 設定為開發者模式  修改之後不需要重啟伺服器 -->
    <constant name="struts.devMode" value="false" />
    <package name="default" namespace="/" extends="struts-default">
    <!-- {1} 表示*號的位置 -->
    <!-- 萬用字元匹配會是使你的配置非常的簡便
                1、作用:首先是約定好了;這樣子無論你是新增Action類和方法;不需要
                動配置檔案。
                2、所以:約定優於配置。
                3、如果配置檔案有相同的配置時;先配置相似的,再根據順序來【水仙面就調誰】
     -->
        <action name="hello*" class="com.flx.actions.HelloWorld" method="{1}">
            <result>
                /jsp/hello_{1}.jsp
            </result>
        </action>
        
        <!-- 最簡化的配置:{1}要大寫:因為找的是類【大寫開頭】 -->
        <action name="*_*" class="com.flx.actions.{1}Action" method="{2}">
            <result>
                /jsp/{1}_{2}.jsp
            </result>
        </action>
    </package>
</struts>


1.3、Action類

public class HelloWorld extends ActionSupport {
	private static final String FINAL_FLX_001 = "success";

	public String add(){
		return FINAL_FLX_001;
	}
	
	public String delete(){
		return FINAL_FLX_001;
	}
}


1.4、JSP頁面 hello_add.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>
    <base href="<%=basePath%>">
    
    <title>新增學生頁面</title>


  </head>
  
  <body>
    新增學生頁面
  </body>
</html>
   

1.5、請求地址

http://localhost:8081/Struts2_2016_0100_HelloWord/helloadd.action
結果跳到:hello_add.jsp頁面
 

總結:使用萬用字元的前提就是“約定大於配置”;就是說當專案經理約定之後才會考慮是是否需要使用萬用字元,使用萬用字元會使得配置檔案更加的簡單。

1、匹配原則:如果是有多個萬用字元,先找最相似的那個。

2、如果在多個萬用字元中沒有相近的就使用就近原則。


相關文章