Struts中的参数传值

学习Struts肯定要了解Struts中界面和action相互传值的方式,从界面到action的传递方式就十分简单,只需要对应javabean中的属性就好。

<body>
<!-- 界面向action传递值只需要命名对应就好 -->
    <form action="hello" method="post">
        用户:<input type="text" name="user.name"> <br>
        密码:<input type="password" name="user.password"><br> 
        <input type="submit" value="ok"> 
    </form>
    <a href="hello_add">通配符测试1</a><a href="hello_edit">通配符测试2</a>
</body>

action到界面的传值就分为三种方式,普通的传值、actionContext传值和使用servlet的API进行传值,每种都可以使用el表达式和struts的标签来显示值。

//包括el表达式和struts的标签传值都需要get和set方式
    private User user;

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    public String execute() throws Exception {
        System.out.println("执行了execute!");
        UserServer server = new UserServer();
        if (server.login(user)) {

            //使用ActionContext来传递参数
            ActionContext.getContext().put("wood", 123);
            ActionContext.getContext().put("free", "two");

            //直接使用servlet中的API进行传值
            ServletActionContext.getRequest().setAttribute("wood", "three");
            return SUCCESS;
        } else {
            return ERROR;
        }

    }
<body>
<!-- el表达式的获取值方式 -->
${user.name },你的密码是:${user.password }<br>
<!-- struts标签获取值的方式   在el表达式的基础上可以实现设置基础值  去除html标签等功能-->
<s:property value="user.name" default="Free"/>
<s:property value="user.password"/><br>

<!-- 使用actionConte来传递数据,其中使用s:property来访问的时候需要加#(2.3之后有改动,但建议加上!) -->
${wood },${free }<br>
<s:property value="#wood"/>
<s:property value="#free"/><br>

<!-- 使用servlet的api获取值同样可使用struts的标签,注意加上获取的方式! -->
${wood } 
<s:property value="#request.wood" />
</body>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值