Struts2表单请求流程(二)— Struts2高级的POJO访问

Struts 2.0支持更高级的POJO访问,先定义一个User.java类。把username和password属性,从Login类中分离出来,它可以使系统结构更清晰,对开发多层系统尤其有用。

User.java

package com.bulktree.struts2;
public class User {
  private String username;
  private String password;
  public String getUsername() {
    System.out.println("******getUsername()******");
    return username;
  }
  public void setUsername(String username) {
    System.out.println("*******setUsername()********");
    this.username = username;
  }
  public String getPassword() {
    System.out.println("******getPassword()*******");
    return password;
  }
  public void setPassword(String password) {
    System.out.println("******setPassword()*********");
    this.password = password;
  }
}
login2.jsp
<s:form action="login2" method="post">
    <s:textfield name="user.username" label="USERNAME" tooltip="Enter Your UserName"></s:textfield>
    <s:password name= "user.password" label="PASSWORD" tooltip="Enter Your PassWord"></s:password>
    <s:submit label="login"></s:submit>
  </s:form>struts.xml文件中action配置:
<action name="login2" class="com.bulktree.struts2.LoginAction2">
      <result name="success">/welcome.jsp</result>
      <result name="input">/login2.jsp</result>
    </action>
LoginAction2.java:
package com.bulktree.struts2;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction2 extends ActionSupport {
  private User user;
  private String message;
  public void setUser(User user) {
    System.out.println("********setUser()***********");
    this.user = user;
  }
  public User getUser() {
    System.out.println("*********getUser()*************");
    return user;
  }
  public String getMessage() {
    System.out.println("************getMessage()********");
    return message;
  }
  @Override
  public String execute() throws Exception {
    System.out.println("*****execute()******");
    if("bulktree".equals(user.getUsername()) && "oakertree".equals(user.getPassword())) {
      message = "Welcome, " + user.getUsername();
    } else {
      message = "Error!";
    }
    return ActionSupport.SUCCESS;
  }
  @Override
  public void validate() {
    System.out.println("******validate()******");
    if(null == user.getUsername() || user.getUsername().length() < 5) {
      this.addFieldError("username","USERNAME ERROR");
    }
    if(null == user.getPassword() || user.getPassword().length() < 5) {
      this.addFieldError("password","PASSWORD ERROR");
    }
  }
}

时间: 2024-10-31 10:47:39

Struts2表单请求流程(二)— Struts2高级的POJO访问的相关文章

Struts2表单请求流程(一)

Struts2框架出来有段时间了,终于开始学习Struts了,也写点东西记录下自己的历程 此文主要来自www.blogjava.net/Max的实例,自己是初学,自己动手实践真的很有趣,有不对的地方希望大家给有指正. 首先login.jsp页面表单: <s:form action="login" method="post"> <s:textfield name="username" label="USERNAME&qu

Struts2框架,表单请求到action出错,貌似找不到自定义action类中的方法。

问题描述 Struts2框架,表单请求到action出错,貌似找不到自定义action类中的方法. 关键代码如下: ${Msg.sendUser.username } 上面代码的意思是:把${Msg.sendUser}提交到action,赋值给 action类属性message的sendUser.(sendUser数据类型是User对象) 请求后提示找不到action中的自定义方法,但是我表单中的值换成下面 的,变成赋值给message的属性sendUser的属性username,就能成功. 是

javascript-js提交表单请求不跳转页面怎么做?

问题描述 js提交表单请求不跳转页面怎么做? 以下是js发送post请求的代码,但我不希望向指定url发送完请求后跳转到url页面,而是停留在原本页面,并对请求返回的数据进行处理. function post(URL, PARAMS) { var temp = document.createElement("form"); temp.action = URL; temp.method = "post"; temp.style.display = "none

寻找可用于 ASP.NET MVC 项目 的“工作流”,支持表单和流程设计就行。可快速开发。

问题描述 现在在做一个ASP.NETMVC的项目.有"工作流"这块,以前没涉及到过工作流,现在要做.本想自己学习工作流,再做.但项目时间紧,现在在寻找可用于ASP.NETMVC项目的成熟的"工作流",支持表单和流程设计就行.可快速开发.方便集成到现在的项目中.自己目前查看了"路德工作流",是一个单独的"工作流"系统.个人使用免费,商用的话需要授权,而且我仔细看过代码.不好集成到想在的项目中.还有CCFlow.也挺好的,但整个系

activiti自定义流程之整合(四):整合自定义表单部署流程定义

综合前几篇博文内容,我想在整合这一部分中应该会有很多模块会跳过不讲,就如自定义表单的表单列表那一块,因为这些模块在整合的过程中都几乎没有什么改动,再多讲也是重复无用功. 正因为如此,在创建了流程模型之后,模型列表的展示也是和之前的没有什么区别,而且都是很简单的后台查询以及前台展示,这一部分也就不过多的讲了. 模型列表页面如下:   至于其中的修改和删除也没什么多讲的,删除很简单,而修改也是activiti-modeler实现的主要功能,我们只需要跳转过去就行. 重要的部分在于部署,因为点击部署到

工具-Jsoup能够模拟浏览器发送表单请求吗?应该怎么做?

问题描述 Jsoup能够模拟浏览器发送表单请求吗?应该怎么做? 上图是chrome开发者工具捕获到浏览器发送的请求信息 jsoup通过把cookie信息添加到header()发送出去登录一些网站.那么发送表单是不是应该也是能够做到的,用post()?那应该怎么写代码,,或者有其他方法的能给点思路看看吗? 我最终目的就是能用Java回复一些帖子就好.

js 提交form表单和设置form表单请求路径的实现方法_javascript技巧

如下所示: form表单ID:postform 设置表单请求url document.postform.action = "SaveReturnInfo"; 提交form表单 document.getElementById("postform").submit(); 以上就是小编为大家带来的js 提交form表单和设置form表单请求路径的实现方法全部内容了,希望大家多多支持~ 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,

jQuery实现表单步骤流程导航代码分享_jquery

本文实例讲述了jQuery实现表单步骤流程导航.分享给大家供大家参考.具体如下: jQuery表单步骤流程导航是一款多步骤进度,多个提交的实现一步一步填写表单提交信息代码,每次填写完信息时都会提醒是否提交,如果想对信息进行再次修改,也可以进行返回操作,页面效果简洁大方,红黑搭配很经典,是一款非常实用的特效代码,值得大家学习. 运行效果图:-------------------查看效果 下载源码------------------- 小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式. 为大家

php表单请求获得数据求和示例_php技巧

获得表单请求的值: 案例: request.php 复制代码 代码如下: <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8;" /> <title>计算请求</title> </head> <body> <form action="result.php"