精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
struts2.x深入探索

重點研究:struts2-core-2.x.x.jar\org.apache.struts2\defautl.properties文件。

重寫default.properties文件中的內容。

src目錄下創建名為struts.properties文件。主要是設置一些常量。

struts-default.xml文件也一樣很重要

1、重寫默認struts.i18n.encoding=UTF-8這一行為:

struts.i18n.encoding=gbk。也可以改變提交中文是亂碼的問題。與在struts.xml文件中寫上<constant></constant>標簽 的效果是一樣的。

2、改寫提交的時候action的后綴名

 默認:struts.action.extension=action

可以改成自己想要的后綴名:struts.action.extension=do

3、自動被struts2加載的默認配置文件名:

默認:struts.configuration.files=struts-default.xml,struts-plugin.xml,struts.xml

當然也可以自己改變它。

 

研究struts.xml文件.需要先重點研究struts2-core-2.x.x.jar\struts-default.xml文件。

1struts.xml中的<package  namespace=/hello></package>標簽對中的namespace屬性命名空間概念。它主要是用來將不同的路徑分隔開。還需要在jsp頁面的form表單的action屬性值加上/hello/xxx.action .

2struts.xml文件宜采用模塊化的方式來創建多個struts*.xml文件,然后在struts.xml文件中通過<include  file=struts*.xml></include>方式來加載其它的struts.xml文件。在大型的項目中,這種情況是很常用的。

 

總結:struts2中的MVC模型中,C指的是控制器層,即web.xml中的FilterDispatcher,也稱核心控制器;M指的是模型層(業務邏輯層),即是action的類進行調用業務羅輯的dao;V指的是表現層,即Jsp頁面展現組用戶的視圖。

 

 

 

 

下面研究一下模型驅動情況:以前表單的屬性字段都是直接寫在action類中的(也叫屬性驅動)。現在改變一下模型,將屬性字段全部寫在一個類(javaBean)中(模型驅動),然后在整個mvc的流程中,始終由該類的對象來進行傳遞。步驟如下:

1、  先創建一個Bean,用來封裝表單的字段。User.java

publicclass User{

   private Stringusername;

   private Stringpassword;

   private intage;

   private Datebirthday;

   private Dategraduation;

   //生成set(),get()方法,在此略

}

2、  創建一個action,繼承ActionSupport并且實現ModelDriver<User>.泛型。

publicclass RegisterAction extends ActionSupport implements ModelDriver<User> {

//創建一個javaBean對象

   private User user = new User();

//需要實現ModelDriver接口中的方法

   public UsergetModel(){

//返回user對象

       return user;

}

//重寫ActionSupport中的方法

public String execute() throws Exception{

 

    return SUCCESS;

}

}

3、  struts.xml中配置action.這與之前的配置方法一樣

 

但是更多的程序員,還是更喜歡使用屬性驅動的方式來進行開發。

 

 

struts2中防止表單重復提交(即提交后,點刷新時,應該返回到最初頁面):用struts2標簽

1、需要在<form></form>標簽對中加入:

    <s:form>

        <s:token></s:token>

</s:form>

2、需要在struts.xml中的相應的action中配置相應的攔截器。并且需要把默認的攔截器也寫上。

<action   name=”…” class=”…”>

    <result name=success>/success.jsp</result>

<result name=input>/register.jsp</result>

//當出現重復提交時,反回到的頁面

    <result name=invalid.token>/register.jsp</result>

//配置對表單重復提交的攔截器

    <interceptor-ref  name=token></interceptor-ref>

//既然手動配置了一個重復提交的攔截器,就需要配置一個默認的攔截器

    <interceptor-ref  name=defaultStack></interceptor-ref>

</action>

 

如果需要在頁面上提示用記重復提交表單的相關信息,需要在含有表單的jsp頁面里加上

<s:actionerror/> 即可。這是struts2內部定義好的信息,如果想顯示息定義的提示信息,需要在資源文件中添加相應的內容。

struts.messages.invalid.token=\u8bf7\u4e0d\u8981\u91cd\u590d\u63d0\u4ea4\u8868\u5355

上面一串unicode是“請不要重復提交表單”通過native2ascii轉換過去的。

 

struts2servlet進行耦合

本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
struts2避免重復提交
Struts2 <s:token/>標簽 防止表單多次提交
Struts防止表單重復提交
Struts2中使用token避免重復提交的方法
struts框架
Struts2技術詳解
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 修文县| 清原| 普格县| 兰坪| 克山县| 宜州市| 南召县| 从化市| 邢台县| 文成县| 大悟县| 贵阳市| 老河口市| 晋江市| 安仁县| 长垣县| 蓝田县| 茌平县| 赣榆县| 离岛区| 蒙自县| 屯昌县| 开封市| 集安市| 视频| 香格里拉县| 佛学| 孝义市| 伽师县| 襄樊市| 东台市| 盐城市| 榆社县| 翼城县| 南木林县| 靖西县| 仪征市| 新源县| 镇安县| 留坝县| 修武县|