zoukankan      html  css  js  c++  java
  • Struts2_用DomainModel接收参数

    用域模型接收参数

    User类

     1 package com.bjsxt.struts2.user.model;
     2 
     3 public class User {
     4     
     5     private String name;
     6     
     7     private int age;
     8 
     9     public String getName() {
    10         return name;
    11     }
    12 
    13     public void setName(String name) {
    14         this.name = name;
    15     }
    16 
    17     public int getAge() {
    18         return age;
    19     }
    20 
    21     public void setAge(int age) {
    22         this.age = age;
    23     }
    24     
    25 }
    View Code

    UserAction

     1 package com.bjsxt.struts2.user.action;
     2 
     3 import com.bjsxt.struts2.user.model.User;
     4 import com.opensymphony.xwork2.ActionSupport;
     5 
     6 public class UserAction extends ActionSupport{
     7 
     8     private static final long serialVersionUID = -2514433281517403937L;
     9     
    10     User user;
    11     //private UserDTO userDTO;
    12     
    13     public String add(){
    14         System.out.println("name = " + user.getName());
    15         System.out.println("age = " + user.getAge());
    16         return SUCCESS;
    17     }
    18 
    19     public User getUser() {
    20         return user;
    21     }
    22 
    23     public void setUser(User user) {
    24         this.user = user;
    25     }
    26     
    27 }
    View Code

    struts.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">
    
    <struts>
        <constant name="struts.configuration.xml.reload" value="true"/>
        <constant name="struts.enable.DynamicMethodInvocation" value="true"/>
        
        <package name="user" namespace="/user" extends="struts-default">
            <action name="user" class="com.bjsxt.struts2.user.action.UserAction">
                <result>/user_add_success.jsp</result>
            </action>
        </package>
        
    </struts>

    index.jsp

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <%
     4 String path = request.getContextPath();
     5 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
     6 %>
     7 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     8 <html>
     9 <head>
    10 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    11 <title>首页</title>
    12 <base href="<%=basePath%>"/>
    13 </head>
    14 <body>
    15 <h1>Hello World~~~</h1>
    16 <a href="user/user!add?user.name=xiaoer&user.age=33">添加用户</a>
    17 </body>
    18 </html>
    View Code

    结果:

    有时候,页面输入的值并非就是单纯的与数据库对应的model,也许会加上其他的东西:验证码,确认密码,标识列...

    这时候可以在 model 前又加上一层 dto(Data Transfer Object),或者叫VO。

    我们可以先用dto接收,接收完在方法中处理了相关业务之后,再把dto中与model相关的值复制到model中,dto相当一个中间对象,两者之间的关系如下图。

    链接: http://pan.baidu.com/s/1dFf4HXJ 密码: a73w

  • 相关阅读:
    C# 单点登录
    长度12的数组,要求对数据分为3组,每组数据对应位置的数字为前几位的和,并返回12位数组
    react项目初始化
    vue 过滤器的使用(解决forEach遇到的问题)
    nuxt中less使用
    vue项目less 使用
    Webpack中的sourceMap配置
    webpack 同一文件打包两次生成两个文件
    webpack---图片打包前和打包后名称一致的配置
    The computed property "userName" is already defined in data.
  • 原文地址:https://www.cnblogs.com/ShawnYang/p/6672548.html
Copyright © 2011-2022 走看看