域模型和驱动模型

1.域模型

将某个领域的实体直接封装为一个实体对象,例如将一个用户的信息数据保存在数据库中只需要传递一个实体对象(User对象)而不需要传递多个属性。

action:

package com.kexin.action;

import com.kexin.bean.User;


public class DomainAction {
    private User user;

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }
    public String execute(){
        System.out.println(user.getName()+":"+user.getId());
        return "success";
    }
}
<!-- 域模型 -->
        <action name="domainAction" class="com.kexin.action.DomainAction">
            <result>/first.jsp</result>
        </action>

数据回显(注意name属性值):

<h3>测试域模型</h3>
    <div>
        <s:form action="domainAction.do" method="post">
            <input type="text" name="user.name"/><br/>
            <input type="text" name="user.id"/><br/>
            <input type="submit">
        </s:form>
    </div>
    <div>
        your name is <s:property value="user.name"/><br/>
        your id is <s:property value="user.id"/>
    </div>

2.驱动模型

DomainModel中要求请求参数必须指定参数对应的实体对象,所以Struts2提供了一个ModelDriven接口

action(注意user必须实例化):

package com.kexin.action;

import com.kexin.bean.User;
import com.opensymphony.xwork2.ModelDriven;

public class DrivenAction implements ModelDriven<User> {
    private User user = new User();
    public String execute(){
        System.out.println(user.getName()+":"+user.getId());
        return "success";
    }
    @Override
    public User getModel() {
        // TODO Auto-generated method stub
        return this.user;
    }

}
<!-- 驱动模型 -->
        <action name="drivenAction" class="com.kexin.action.DrivenAction">
            <result>/first.jsp</result>
        </action>

数据回显:

<h3>测试驱动模型</h3>
    <div>
        <s:form action="drivenAction.do" method="post">
            <input type="text" name="name"/><br/>
            <input type="text" name="id"/><br/>
            <input type="submit">
        </s:form>
    </div>
    <div>
        your name is <s:property value="name"/><br/>
        your id is <s:property value="id"/>
    </div>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小黄鸭and小黑鸭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值