Spring2.5+Hibernate3.3+Struts2

 

使用到struts2lib目錄下的以下jar文件,
struts2-core-2.x.x.jar :Struts 2框架的核心類庫
xwork-2.x.x.jar :XWork類庫,Struts 2在其上構建
ognl-2.6.x.jar :對象圖導航語言(Object Graph Navigation Language),Struts 2框架使用的一種表達式語言
freemarker-2.3.x.jar :Struts 2UI標籤的模板使用FreeMarker編寫
commons-logging-1.0.x.jar :ASF出品的日誌包,Struts 2框架使用這個日誌包來支持Log4JJDK 1.4+的日誌記錄。
struts2-spring-plugin-2.0.11.1.jar
commons-fileupload-1.2.1.jar
 
web容器中實例化spring容器和配置struts2
<!-- 指定spring的配置文件,默認從web根目錄尋找配置文件,我們可以通過spring提供的classpath:前綴指定從類路徑下尋找 -->
<context-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>classpath:beans.xml</param-value>
</context-param>
<!-- Spring容器進行實例化 -->
<listener>
      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
配置struts2
   <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
   </filter-mapping>
 
struts2的配置文件模版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>
   <!-- 該屬性指定需要Struts 2處理的請求後綴,該屬性的默認值是action,即所有匹配*.action的請求都由Struts2處理。
    如果用戶需要指定多個請求後綴,則多個後綴之間以英文逗號(,)隔開。 -->
    <constant name="struts.action.extension" value="do"/>
    <!-- 設置瀏覽器是否緩存靜態內容,默認值爲true(生產環境下使用),開發階段最好關閉 -->
    <constant name="struts.serve.static.browserCache" value="false"/>
    <!-- struts的配置文件修改後,系統是否自動重新加載該文件,默認值爲false(生產環境下使用),開發階段最好打開 -->
    <constant name="struts.configuration.xml.reload" value="true"/>
    <!-- 開發模式下使用,這樣可以打印出更詳細的錯誤信息 -->
    <constant name="struts.devMode" value="true" />
     <!-- 默認的視圖主題 -->
    <constant name="struts.ui.theme" value="simple" />
    <constant name="struts.objectFactory" value="spring" />
  <package name="person" namespace="/person" extends="struts-default">
  <global-results>
  <result name="message">/WEB-INF/page/message.jsp</result>
  </global-results>
<action name="action_*" class="personList" method="{1}">
<result name="list">/WEB-INF/page/persons.jsp</result>
<result name="add">/WEB-INF/page/add_person.jsp</result>
<result name="edit">/WEB-INF/page/edit_person.jsp</result>
</action>
    </package>
</struts>
 
爲了能從spring容器中尋找到Action bean,要求action配置的class屬性值和springbean的名稱相同,如下:
<package name="itcast" namespace="/person" extends="struts-default">
<action name="list" class="personListAction">
                         .....
</action>
</package>
 
struts2的標籤
<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s" %>
<s:form action="action_edit" method="post" namespace="/person">
<s:hidden name="person.id"/>
姓名:<s:textfield name="person.name"/><br>
<input type="submit" value="發送"/>
</s:form>
<s:iterator value="persons" >
<s:property value="id"/>, <s:property value="name"/>
 <a href='<s:url action="action_editUI" namespace="/person"><s:param name="person.id" value="id"/></s:url>'>修改</a>
</s:iterator>
發佈了59 篇原創文章 · 獲贊 0 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章