欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

J2EE中的struts2表單細(xì)節(jié)處理

 更新時(shí)間:2017年06月23日 11:21:18   作者:情似雨餘黏地絮  
這篇文章主要介紹了J2EE中的struts2表單細(xì)節(jié)處理的相關(guān)資料,需要的朋友可以參考下

/struts-tags中自帶了很多標(biāo)簽

比如一個(gè)簡(jiǎn)單的登錄表單,其中自帶了很多的樣式,實(shí)際上如果你不需要用到struts的實(shí)際功能的時(shí)候不建議使用

   <s:form  action="user_save">
     <s:token></s:token>
       <s:textfield name="username" label="用戶名"></s:textfield>
       <s:textfield name="pwd" label="密碼"></s:textfield>
       <s:submit value="提交"></s:submit>
     </s:form>

你可以通過設(shè)置屬性 theme="simple"來取消他自帶的樣式

其次是ModelDriven,意思是直接把實(shí)體類當(dāng)成頁面數(shù)據(jù)的收集對(duì)象。在Action實(shí)現(xiàn)ModelDriven接口,可以很方便的對(duì)實(shí)體類對(duì)象的屬性賦值,不過在Action中實(shí)體類對(duì)象要new出來并且重寫ModelDriven的getModel方法,返回值是你的實(shí)體類對(duì)象代碼如下:

package com.xinzhi.action;
import java.util.List;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.opensymphony.xwork2.util.ValueStack;
import com.xinzhi.dao.impl.UserDaoImpl;
import com.xinzhi.entity.UserEntity;
public class UserAction extends ActionSupport implements
    ModelDriven<UserEntity> {
  private static final long serialVersionUID = 1L;
  private UserEntity userEntity = new UserEntity();
  UserDaoImpl userDaoImpl = new UserDaoImpl();
  public UserEntity getUserEntity() {
    return userEntity;
  }
  public void setUserEntity(UserEntity userEntity) {
    this.userEntity = userEntity;
  }
  public UserEntity getModel() {
    return userEntity;
  }
}

然后是表單的數(shù)據(jù)回顯,在Action當(dāng)中把你的實(shí)體類對(duì)象壓入(ValueStack)堆棧中,然后在頁面中取出堆棧你要的值,方法如下

public String view() {
    UserEntity selectAUserEntity = userDaoImpl.selectAUserEntity(userEntity
        .getId());
    ValueStack valueStack = ActionContext.getContext().getValueStack();
    valueStack.pop();
    valueStack.push(selectAUserEntity);
    return "view";
  }

最后是防止表單重復(fù)提交的方法token,我對(duì)他的理解是,在表單中如果有<token>標(biāo)簽的時(shí)候,提交表單的同時(shí)在表單頁和action中隨機(jī)生成一個(gè)相同的ID值,當(dāng)?shù)谝淮翁峤贿^來的表單被接收時(shí)這個(gè)ID將被刪除,當(dāng)被重復(fù)提交時(shí)就會(huì)找不到對(duì)應(yīng)的ID值導(dǎo)致無法重復(fù)提交,并且發(fā)出無效指令的錯(cuò)誤代碼如下

表單代碼  

 <s:form  action="user_save">
       <s:token></s:token>
       <s:textfield name="username" label="用戶名"></s:textfield>
       <s:textfield name="pwd" label="密碼"></s:textfield>
       <s:submit value="提交"></s:submit>
     </s:form>

然后要在struts.xml配置文件中使用對(duì)應(yīng)的攔截器,并指出重復(fù)提交時(shí),無效的指令將會(huì)跳轉(zhuǎn)到哪一個(gè)頁面代碼如下: 

 <action name="user_*" class="com.xinzhi.action.UserAction" method="{1}">
      <interceptor-ref name="defaultStack"></interceptor-ref>
      <interceptor-ref name="token">
        <param name="includeMethods">save</param>
      </interceptor-ref>
    </action>

以上所述是小編給大家介紹的J2EE中的struts2表單細(xì)節(jié)處理,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 詳解Java中的鎖Lock和synchronized

    詳解Java中的鎖Lock和synchronized

    鎖是Java并發(fā)編程中最重要的同步機(jī)制,Java提供了種類豐富的鎖,每種鎖因其特性的不同,在適當(dāng)?shù)膱?chǎng)景下能夠展現(xiàn)出非常高的效率。本文將詳細(xì)介紹Lock和synchronized
    2021-06-06
  • Spring Boot 基于注解的 Redis 緩存使用詳解

    Spring Boot 基于注解的 Redis 緩存使用詳解

    本篇文章主要介紹了Spring Boot 基于注解的 Redis 緩存使用詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • Java全面深入探究SpringBoot攔截器與文件上傳

    Java全面深入探究SpringBoot攔截器與文件上傳

    攔截器對(duì)使用SpringMvc、Struts的開發(fā)人員來說特別熟悉,因?yàn)槟阒灰肴プ龊靡粋€(gè)項(xiàng)目必然會(huì)用到它,文件上傳是一個(gè)很常見的功能。在項(xiàng)目開發(fā)過程中,我們通常都會(huì)使用一些成熟的上傳組件來實(shí)現(xiàn)對(duì)應(yīng)的功能
    2022-05-05
  • Spring?Cloud?Ribbon的使用原理解析

    Spring?Cloud?Ribbon的使用原理解析

    現(xiàn)在Java非常流行微服務(wù),也就是所謂的面向服務(wù)開發(fā),將一個(gè)項(xiàng)目拆分成了多個(gè)項(xiàng)目,其優(yōu)點(diǎn)有很多,其中一個(gè)優(yōu)點(diǎn)就是:將服務(wù)拆分成一個(gè)一個(gè)微服務(wù)后,我們很容易的來針對(duì)性的進(jìn)行集群部署,這篇文章主要介紹了Spring?Cloud?Ribbon的使用詳解,需要的朋友可以參考下
    2022-07-07
  • Java PriorityQueue優(yōu)點(diǎn)和缺點(diǎn)面試精講

    Java PriorityQueue優(yōu)點(diǎn)和缺點(diǎn)面試精講

    這篇文章主要為大家介紹了Java面試中PriorityQueue的優(yōu)點(diǎn)和缺點(diǎn)及使用注意詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • Java 獲取指定日期的實(shí)現(xiàn)方法總結(jié)

    Java 獲取指定日期的實(shí)現(xiàn)方法總結(jié)

    以下是對(duì)Java中獲取指定日期的實(shí)現(xiàn)方法進(jìn)行了歸納總結(jié),需要的朋友可以參考下
    2013-07-07
  • Java實(shí)現(xiàn)兩人五子棋游戲(六) 行棋方變換

    Java實(shí)現(xiàn)兩人五子棋游戲(六) 行棋方變換

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)一個(gè)簡(jiǎn)單的兩人五子棋游戲,行棋方變換,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • JAVA中字符串如何與整型數(shù)字相加

    JAVA中字符串如何與整型數(shù)字相加

    這篇文章主要介紹了JAVA中字符串如何與整型數(shù)字相加,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • SpringBoot中通過AOP整合日志文件的實(shí)現(xiàn)

    SpringBoot中通過AOP整合日志文件的實(shí)現(xiàn)

    本文主要介紹了SpringBoot中通過AOP整合日志文件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • JAVA多線程編程實(shí)例詳解

    JAVA多線程編程實(shí)例詳解

    這篇文章主要介紹了JAVA多線程編程,結(jié)合實(shí)例形式總結(jié)分析了多線程、鎖、線程池等相關(guān)原理及使用技巧,需要的朋友可以參考下
    2019-09-09

最新評(píng)論