一、页面传值
发送方:
触发requestCommand.execute()事件,setPath(path)来跳转页面,requestCommand.parameters().setValue("field1",value)来
传递参数,也可以setDataSet(dataset)来传递该dataset的当前记录。
还有一种方式:通过requestCommand的parameterFields实现传值
接受方:
任意一dataset中设置和requestConmmand传递的参数相同名称的fields,就可以获取相应的参数了。或者用session来获取参数。
该处可能是描述上的问题,相信作者理解上不存在问题
接受requestCommand传过来的参数都是通过Request实现,由于生命周期的不同,而会是用不同的方式处理:
java代码:一般我们是通过DoradoContext处理
视图模型xml文件中的属性以及js事件:我们通过dorado提供的EL表达式处理,例如:${Request.parameterName1}或则${request.getParameter("parameterName1")},具体参考EL表达式的使用文档。
同样我们在以上的两个地方要操作session也是一样通过DoradoContext或者EL表达式实现
二、设置session
第一步:页面传值(略)----------------------------------------------------------
第二步:设置session
方法一,在jsp中设session: <%session.setAttribute("roles",request.getParameters("roles"));%>
方法二,在servlet中设session:
String roles = request.getParameter("roles");
HttpSession session = request.getSession();
session.setAttribute("roles", roles);
----------------------------------------------------------
第三步:获取session值
方法一:在jsp中获取:String roles = (String)session.getAttribute("roles");
方法二:在scrīpt中获取:
var roles = new Array();
roles = "${Session.roles}";
这儿指的script是指View(视图模型的事件代码),而对于jsp中的js就不必拘泥于形式,当然一个dorado页面我们认为不太可能在jsp上出现非布局与css的其他代码(如果你的dorado经验比较丰富的话)
----------------------------------------------------------注意事项:
session的设置顺序要和页面传值的顺序一致
来自:http://job-love.blog.sohu.com/76779252.html