`

使用模型驱动来接收参数

阅读更多

一个简单的javaBean来封装将要请求的参数可以是VO,属性一般要保持一致
package com.lbx.model;

public class User {
	private String name;
	private int age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	
}
 JSP请求代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
	使用ModelDriven接收参数<a href="user/User_add?name=a&age=8">添加用户</a>
  </body>
</html>
 struts.xml的代码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>
    <package name="user" namespace="/user" extends="struts-default">
        
        <action name="*_*" class="com.lbx.action.{1}Action" method="{2}">
            <result>/{1}_{2}_success.jsp</result>
            <!-- {0}_success.jsp -->
        </action>
    </package>
    
</struts>
 根据struts.xml找到相应的Action类,这里是使用模型驱动,最好是使用泛型
package com.lbx.action;

import com.lbx.model.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

public class UserAction extends ActionSupport implements ModelDriven<User>{
	
	private User user = new User();;
	
	public String add() {
		System.out.println("name=" + user.getName());
		System.out.println("age=" + user.getAge());
		return SUCCESS;
	}

	public User getModel() {
		// TODO Auto-generated method stub
		return user	;
	}
	
}

 

分享到:
评论

相关推荐

    Struts2中Action接收参数的方法

    ModelDriven 是 Struts2 中的一种模型驱动接口,可以用来接收参数。具体步骤如下: 1. 在 Action 中,实现 ModelDriven 接口,并定义 Model 类的对象,例如 `user`。 2. 在 Model 类中,定义属性,例如 `userName`...

    使用模型驱动方便从表单获取用户输入的值

    模型驱动的核心思想是通过一个预先定义好的模型对象来完成数据的接收和验证工作,从而大大提高了开发效率和代码的可维护性。 #### 实现步骤详解 **第一步:创建模型驱动类** 在具体的应用场景中,首先需要定义一...

    Microsoft Windows驱动程序模型设计

    综上所述,《Microsoft Windows驱动程序模型设计》涵盖了从驱动程序的基本概念到具体实现的全方位知识,对于想要深入理解Windows操作系统底层工作原理以及进行驱动程序开发的工程师来说,是一份不可或缺的参考资料。...

    用ESP8266制作WiFi模型遥控接收机_Esp8266接收机_esp8266_ESP8266wifi航模遥控_8266接收机

    在本文中,我们将深入探讨如何使用ESP8266芯片构建一个WiFi模型遥控接收机,以便将手机作为遥控器来控制航模。ESP8266因其强大的Wi-Fi功能、低功耗和相对低廉的价格,成为了DIY爱好者和电子工程师们的热门选择。通过...

    Struts2接收参数ModelDriven

    8. **自定义模型驱动**:如果默认的ModelDriven行为不能满足需求,可以通过自定义拦截器或者扩展ModelDriven接口来实现更复杂的逻辑。 9. **与其他特性结合**:ModelDriven可以与Struts2的其他特性如ValueStack、...

    2.4G驱动程序及资料

    驱动程序是与24L01芯片交互的关键,它负责初始化硬件、设置参数、接收和发送数据等任务。 驱动程序的主要组成部分通常包括: 1. 设备探测:识别并加载相应的硬件。 2. 初始化:设置硬件状态,准备数据传输。 3. ...

    基于Linux的WebCam驱动代码

    Linux内核中的驱动模型通常分为两种:字符设备驱动和块设备驱动。WebCam驱动通常属于字符设备驱动,因为它不涉及随机访问和大块数据读写,而是连续的数据流。驱动程序通常包含初始化、打开、读取、写入、关闭等函数...

    linux设备驱动模型--uevent篇

    ### Linux设备驱动模型——uevent篇深度解析 在深入探讨Linux设备驱动模型的uevent机制前,我们首先简要回顾一下设备模型的基本概念。Linux设备模型是Linux内核中的一个核心组件,它提供了统一的接口来管理和操作...

    开放式参数化零件模型直接驱动的数控加工系统.pdf

    这样的系统可以直接接收CAD模型中的参数化信息,无需再通过后处理器转换成G&M代码,极大地提高了数控机床的加工效率和加工质量。 在这一系统中,数控加工技术与CAD/CAM技术的无缝集成,实现了从设计到加工的直接...

    gt9xx驱动--参数配置信息放在头文件

    头文件中会包含解码这些数据的算法和结构,帮助驱动程序理解并解析接收到的信息。 5. **电源管理**:为了节省能源,设备可能会在无触控活动时进入低功耗模式。头文件会定义这些模式的切换条件和唤醒机制。 6. **...

    打印机驱动程序源码(参数接口部分)

    3. **接口设计**:源码中的“参数接口部分”可能包含了驱动程序如何接收和处理来自应用程序的打印命令,以及如何设置和管理打印参数的接口函数。这些接口通常是API调用,如`CreatePrinterDriver`、`StartPrintJob`等...

    jsf(基于时间驱动模型)

    书中可能涵盖了JSF的基础概念、组件使用、事件处理、时间驱动模型的实现以及实战示例等内容,是学习和提升JSF技能的宝贵资料。 总结,JSF是一个强大且灵活的Web开发框架,其基于时间驱动模型的能力使得开发者能够...

    Matlab 2016a版本 Simulink步进电机驱动仿真,含说明文件详细介绍结构原理

    在该模型中,步进电机被驱动器控制,驱动器根据上位机发送的脉冲和方向信号来操作步进电机,同时包含了电流限制功能,以保护电机并优化其性能。 首先,我们需要了解步进电机的基本概念。步进电机是一种将电脉冲转换...

    弹药协调器等效模型主要参数辨识方法.pdf

    在参数辨识过程中,使用了时间序列相似度的计算方法,以量化模型输出和目标数据之间的接近程度。时间序列相似度是动力学建模中的一个重要概念,对于评估模型精度和调节模型参数至关重要。 5. 粒子群算法(PSO)的...

    stm32驱动MIT电机代码

    在STM32驱动MIT电机的代码中,首先需要配置STM32的硬件资源,如GPIO(General Purpose Input/Output)口来控制电机驱动电路,PWM(Pulse Width Modulation)接口来调节电机速度,以及ADC(Analog-to-Digital ...

    24C02 verilog 模型

    标题与描述中的“24C02 Verilog模型”指的是一个使用Verilog硬件描述语言编写的、用于模拟ATMEL公司的24C02 EEPROM(电可擦可编程...对于从事嵌入式系统设计的工程师来说,理解和掌握这类模型的使用方法是非常重要的。

    matlab开发-修改驱动参数库块的空间工艺特性

    2. **修正的罗德里格斯参数转换模块**:这是模型的核心部分,它会接收输入参数,并计算出航天器的旋转矩阵,从而描述其姿态变化。 3. **刚体动力学模块**:根据输入的力矩和初始条件,这个模块将计算航天器的角速度...

    Linux设备模型之uart驱动架构分析

    类似地,当从串口设备接收到数据时,也会使用另一个环形缓存区来暂存数据,之后再转给对应的linediscipline(线路规程)进行处理。 uart_driver的注册操作通过函数uart_register_driver()来完成,该函数负责创建并...

    Linux uvc 摄像头驱动

    3. **数据传输**:UVC驱动使用中断(Interrupt)或批量(Bulk)传输方式从摄像头接收数据。中断传输适用于低延迟的实时视频流,而批量传输适合于高带宽但对延迟不敏感的场景。 4. **帧缓冲管理**:驱动程序需要管理...

    IBIS模型详解中文版.pdf

    IBIS模型是一种基于V/I曲线的对I/O 缓冲器快速准确建摸的方法,是反映芯片驱动和接收电气特性的一种国际标准,它提供一种标准的文件格式来记录如驱动器输出阻抗、上升/下降时间及输出负载等参数,非常适合做振铃( ...

Global site tag (gtag.js) - Google Analytics