struts2前后台传值---利用值栈

在action中将查出的数据放入到值栈中

//准备数据
        List<Department> departmentList=departmentService.findAll();
        //放到值栈中
        ActionContext.getContext().put("departmentList", departmentList);
        //在页面获取值栈中的数据的时候用#获取  



在前台以下拉框为例,赋给下拉框值栈中的值

<tr><td width="100">上级部门</td>
                        <td>         
                    <!--    获取action中放入值栈中的数据,并进行下拉列表的显示 -->
                          <s:select name="parentId" cssClass="SelectStyle"
                                list="#departmentList" listKey="id" listValue="name"
                                headerKey="" headerValue="==请选择部门=="
                            /> 
                        </td>
                    </tr>  





从页面传值到ACTION如下:
1、先在struts.xml里面设置页面跳转的方法名和路径的<action>,如下:
 
<!-- 部门管理 配置struts,便于页面调用action方法,比如:role_delete-->
        <action name="department_*" class="departmentAction" method="{1}">
            <result name="list">/WEB-INF/jsp/departmentAction/list.jsp</result>           
            <result name="saveUI">/WEB-INF/jsp/departmentAction/saveUI.jsp</result>
            <result name="toList" type="redirectAction">department_list</result><!-- 重定向到role_list这个action中 -->
        </action>  



2、然后再Jsp页面里面利用xml中的actionname来传递需要的参数:
例如:
<td><s:a action="department_list?parentId=%{id}">${name } </s:a> </td>  



这样,就转换到了DepartmentAction类里面的list方法里面了。
DepartmentAction类里面定义parentId的get和set方法:就可以接受从页面传过来的parentId的值了
如下:
private Long parentId;  

public Long getParentId() {
        return parentId;
    }
  public void setParentId(Long parentId) {
        this.parentId = parentId;
    }  

public String list() throws Exception {
        List<Department> departmentList=null;
        if(parentId==null){//顶级部门列表
             departmentList=departmentService.findTopList();
        }else{//子部门列表
             departmentList=departmentService.findChildren(parentId);
        }        
        ActionContext.getContext().put("departmentList", departmentList);
        
        return "list";
    }  



  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值