最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

/struts-tags中自帶了很多標簽

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

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

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

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

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當中把你的實體類對象壓入(ValueStack)堆棧中,然后在頁面中取出堆棧你要的值,方法如下

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

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

表單代碼  

 <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配置文件中使用對應的攔截器,并指出重復提交時,無效的指令將會跳轉到哪一個頁面代碼如下: 

 <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表單細節(jié)處理,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

相關文章

  • 詳解快速搭建Spring Boot+Spring MVC

    詳解快速搭建Spring Boot+Spring MVC

    本篇文章主要介紹了詳解快速搭建Spring Boot+Spring MVC,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • java 文件名截取方法

    java 文件名截取方法

    在實際開發(fā)應用中會應到截取文件名,本文將介紹java中文件名的截取,需要了解的朋友可以參考下
    2012-11-11
  • Java泛型與數(shù)據(jù)庫應用實例詳解

    Java泛型與數(shù)據(jù)庫應用實例詳解

    這篇文章主要介紹了Java泛型與數(shù)據(jù)庫應用,結合實例形式詳細分析了java繼承泛型類實現(xiàn)增刪改查操作相關實現(xiàn)技巧,需要的朋友可以參考下
    2019-08-08
  • Servlet3.0學習總結之基于Servlet3.0的文件上傳實例

    Servlet3.0學習總結之基于Servlet3.0的文件上傳實例

    本篇文章主要介紹了Servlet3.0學習總結之基于Servlet3.0的文件上傳實例,具有一定的參考價值,有興趣的可以了解一下
    2017-07-07
  • SpringBoot 注解事務聲明式事務的方式

    SpringBoot 注解事務聲明式事務的方式

    springboot使用上述注解的幾種方式開啟事物,可以達到和xml中聲明的同樣效果,但是卻告別了xml,使你的代碼遠離配置文件。今天就扒一扒springboot中事務使用注解的玩法,感興趣的朋友一起看看吧
    2017-09-09
  • Spring 實現(xiàn)給Bean屬性注入null值

    Spring 實現(xiàn)給Bean屬性注入null值

    這篇文章主要介紹了Spring 實現(xiàn)給Bean屬性注入null值的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java中的關鍵字_動力節(jié)點Java學院整理

    Java中的關鍵字_動力節(jié)點Java學院整理

    關鍵字也稱為保留字,是指Java語言中規(guī)定了特定含義的標示符。對于保留字,用戶只能按照系統(tǒng)規(guī)定的方式使用,不能自行定義
    2017-04-04
  • java 源碼分析Arrays.asList方法詳解

    java 源碼分析Arrays.asList方法詳解

    這篇文章主要介紹了java 源碼分析Arrays.asList方法詳解的相關資料,需要的朋友可以參考下
    2016-10-10
  • java實現(xiàn)ATM取款項目

    java實現(xiàn)ATM取款項目

    這篇文章主要為大家詳細介紹了java實現(xiàn)ATM取款項目的實現(xiàn)代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • SpringBoot解決跨域問題的五種方案

    SpringBoot解決跨域問題的五種方案

    跨域問題指的是不同站點之間,使用 ajax 無法相互調用的問題,跨域問題本質是瀏覽器的一種保護機制,它的初衷是為了保證用戶的安全,防止惡意網站竊取數(shù)據(jù),那怎么解決這個問題呢?接下來我們一起來看,需要的朋友可以參考下
    2024-07-07

最新評論

资源县| 凤凰县| 修水县| 藁城市| 宜宾县| 大港区| 射阳县| 无锡市| 沁阳市| 江西省| 铁岭市| 九龙县| 班玛县| 呈贡县| 盖州市| 资溪县| 余庆县| 青龙| 孝感市| 柯坪县| 伽师县| 兴安县| 诸暨市| 三明市| 宁安市| 武安市| 大厂| 遂平县| 定南县| 莱阳市| 威海市| 志丹县| 株洲县| 昌黎县| 巴青县| 千阳县| 通江县| 大化| 合肥市| 西峡县| 五家渠市|