实现ModelDriver接口的功能(转)

ModelDriver接口 来自com.opensymphony.xwork2.ModelDriven。是xwork-2.1.2-750.jar包的东西。

下面是源码:

package com.opensymphony.xwork2;

public abstract interface ModelDriven<T> {   public abstract T getModel(); }

 

该接口只有一个getModel()方法。主要作用是封装Object对象。实现接口时可以指定某个具体的Object对象类,如:

public class progressQueryAction extends CentricDefaultActionSupport implements Preparable,ModelDriven<LossSitesurvey>{

 public LossSitesurvey getModel() {
  return lossSitesurvey;
 }

}

当jsp页面中需要该对象的属性时,直接model.属性名即可得到该属性。而不用再在action中编写该对象的getset方法了,对象.属性名了。相当于默认的对象封装。方便操作。

 

使用ModelDriven的方式。该action继承ModelDriven接口,实现getModel()方法,方法只返回一个模型对象,默认转换Object。

最后Hello.jsp中可以使用<s:property
value=".."/>取值,value直接使用相应的age,name等。而action虽然提供的getModel()方法,但因为转为了Object,而Object不能提供取值的方法,所以无法使用value="model.xxx"来取值。

所谓ModelDriven ,意思是直接把实体类当成页面数据的收集对象。

转载于:https://www.cnblogs.com/Syria/p/6624694.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/282494.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git的使用(推荐命令行模式)

一 使用 git版本控制已经逐渐取代cvs,svn等版本控制,对于一名程序员来说,使用git同样是一门必备的功课.1. 仓库初始化查看文件.如果有.git文件夹,说明创建本地仓库成功(.git是隐藏文件夹)2. 修改用户名和邮箱本地配置:注: 在全局配置与本地配置都存在用户名时,本地配置优先级更…

.NET MAUI 环境配置技巧

关于 .NET MAUI 国内⼩伙伴在配置 .NET MAUI 的时候&#xff0c;遇到不少问题。希望通过本教程&#xff0c;给到大家⼀些指引。01基础组件部分.NET SDK 安装建议安装最新的 .NET SDK下载地址 https://dotnet.microsoft.com/download/dotnet/6.0安装 .NET MAUI安装 .NET MAUI 成…

Linux中一些常用的很巧妙的命令

当你想要使用上一个命令的最后一个参数&#xff0c;&#xff08;上一个命令的最后一个参数很长&#xff09;&#xff0c;可以使用 esc .      (是esc 点&#xff09; !$ 引用上一个命令的最后一个参数 对命令行的编辑快捷方式&#xff1a; Ctr…

android 8种对话框(Dialog)使用方法汇总

本文为作者原创&#xff0c;转载请注明出处&#xff1a;http://www.cnblogs.com/gzdaijie/p/5222191.html 目录 1.写在前面2.代码示例2.1 普通Dialog&#xff08;图1与图2&#xff09;2.2 列表Dialog&#xff08;图3&#xff09;2.3 单选Dialog&#xff08;图4&#xff09;2.4 …

使用layui的layer组件做弹出层

官方文档地址: http://www.layui.com/doc/modules/layer.html 本例演示效果: 当点击申请提现时,出现申请提现框,并根据用户输入进行一些判断,给出友好提示,比如: 代码实现: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8&q…

C#之表达式树使用

目的遇到一个场景需要接收一个表的列来进行动态排序&#xff0c;比如我想根据CreateTime进行正序排序&#xff0c;加上我使用的ORM框架是EFCore&#xff0c;那么我一下子就想到应该使用OrderBy&#xff0c;然后接收一个要排序的列query.OrderBy("CreateTime")但是这样…

实现一个基于相等性比较的 GroupBy

实现一个基于相等性比较的 GroupByIntro在我们的系统里有些数据可能会有问题&#xff0c;数据源头不在我们这里&#xff0c;数据不好修复&#xff0c;在做 GroupBy 的时候就会很痛苦&#xff0c;默认的 group by 会依赖于 HashCode &#xff0c;而某些场景下 HashCode 可能并不…

win7系统下载 ghost win7 Sp1 64位纯净3月版

win7系统下载 ghost win7 Sp1 64位纯净3月版 软件名称: Ghost Win7 Sp1 64位纯净3月版软件语言: 简体中文软件大小: 5.25大小: GB发布日期: 2017-03-21文件名称: ZJY_Ghost_win 7_X64_CJ201703.GHOM D 5: EB16DCD608A5CCFE34B58…

CrossPHP框架的常用操作

1. 在视图控制器中使用$this->res()方法来生成资源文件的绝对路径$this->res(css/style.css);生成的连接为http://youdomain.com/static/css/style.css2. 生成指定app名称的连接$this->appUrl()第一个参数为基础url, 第二个参数为app名称, 第三个参数为 控制器:方法 第…

WPF-07 Style之触发器

触发器能够在改变属性值的时候&#xff0c;根据值变化执行操作&#xff0c;在不需要创建一个新的控件的情况下&#xff0c;可以动态的改变控件的外观&#xff0c;当条件满足时&#xff0c;触发器可以改变任何属性的值&#xff0c;触发器通常定义在Style中&#xff0c;在窗体的根…

jdk自带常用命令行工具使用

转自&#xff1a;http://blog.csdn.net/winwill2012/article/details/46364923jps命令使用jps命令类似于Linux下的ps命令&#xff0c;用于列出当前正在运行的所有Java进程。基本用法直接运行不加任何参数就能列出所有java进程的pid和类的短名称。例如&#xff1a;常用参数-q参数…

crossphp框架中,在模板中加载其他模板

这里说我自己做的项目的应用场景 要求是用layui框架的layer组件,实现弹出层效果,用原声PHP无疑很容易做到,但是如果应用到crossphp框架流程就会非常麻烦 这里简单讲一下大致的步骤: 1. 在一个模板文件中应用layui的layer组件实现弹出框 index.tpl.php2. 从我们自己定义的路径上…

for(auto c:s)与for(auto c:s)

在c11标准下可以执行的特殊格式的for循环语句&#xff0c;区别在于引用类型可以改变原来的值 #include<iostream> using namespace std; int main() {string s("hello world");for(auto c:s)ct;cout<<s<<endl;//结果为hello worldfor(auto &c:…

MASA Framework的MinimalAPIs应用

在以前的MVC引用程序中&#xff0c;控制器是一个功能齐全的框架&#xff0c;但它偏重&#xff0c;因此在.Net6.0官方引入了MinimalAPIs&#xff0c;即最小API&#xff0c;与MVC相比&#xff0c;它足够的简洁&#xff0c;适合小型服务来使用&#xff0c;下面就让我们看看如何使用…

【转】Java开发必须要知道的知识体系

Java Java是一门超高人气编程语言&#xff0c;拥有跨平台、面向对象、泛型编程等特性。在TIOBE编程语言排行榜中&#xff0c;连续夺得第一宝座&#xff0c;而且国内各大知名互联网公司&#xff0c;后端开发首选语言&#xff1a;非Java莫属。今天只是梳理下Java知识体系&#xf…

CrossPHP--在我们用ajax,js取不到指定数据时,我们可以换一种方式

项目中遇到的问题: 需求: 用的是layui的laypage组件,进行分页操作,熟悉layui的朋友都知道,laypage需要从服务端给其一个总条数, 但是在进行ajax请求时出了问题, 我是这样定义的但是调用的时候却无法将数值直接返回回去,所以这里只能更换一种思路 在控制器中进行数据的查询,然后…

VS 代码行数统计

按CTRLSHIFTF (Find in files)&#xff0c;勾上支持正则表达式&#xff0c;然后输入搜索内容&#xff1a; ^:b*[^:b#/].*$#开头和/开头或者空行都不计入代码量。如果需要只统计代码文件的代转载于:https://www.cnblogs.com/sunlyk/p/7484728.html

MySQL设置从库只读模式

常见现象 运维工作中会经常维护MySQL主从服务器&#xff0c;当然Slave我们只是用于读操作。 一般权限开通也只授权只读账号&#xff0c;但是有时候维护工作可能不是一个人在做&#xff0c;你不能保证其他同事都按照这个标准操作。 有同事可能会授权Slave库MySQL账号为all或者se…

寻找kernel32.dll的地址

为了寻找kernel32.dll的地址&#xff0c;可以直接输出&#xff0c;也可以通过TEB,PEB等查找。 寻找TEB: dt _TEB nt!_TEB 0x000 NtTib : _NT_TIB 0x01c EnvironmentPointer : Ptr32 Void 0x020 ClientId : _CLIENT_ID 0x028 ActiveRpcHandle : Ptr32 Void 0x02c ThreadLocalSto…

layui弹出层使用(layer.alert / layer.open / layer.prompt )

一 layer.alert 效果图: 代码: //取消提现 function back(id) {layer.alert(真的要取消吗, {skin: layui-layer-molv //样式类名 自定义样式,closeBtn: 1 // 是否显示关闭按钮,anim: 1 //动画类型,btn: [确定,取消] //按钮,icon: 6 // icon,yes:function(){return $.aj…