如何向含有frameset的页面传递参数 博客分类: WEB JSPStrutsBeanHTML
程序员文章站
2024-03-08 12:00:34
...
最近在项目中用到左侧树型菜单,考虑后觉得应该用frameset实现页面布局,整体分为上、下左、下右三部分。
而在菜单显示中,数据来源是数据库/文本数据,所以就碰到了如何向此整体页面传递数据(单个字符数据或对象/列表)的问题。经过半天的研究,初步有些想法,遂记之,方便自己,方便大家,还请不吝提出意见和建议 ^_^.
其实至今对jsp中几个作用域还有些模糊,今天使用session,达到了预期效果。
一、在action中进行session赋值(此处为剪短调试时间,遂写死)
二、frame页面(主要测试页面为format.jsp)
三、format.jsp(此处略写)
<%
%>
<javascript>
ps:
测试未完,会再补上,朋友们有想法的可以讨论
ps2:
今天已经测试可以对对象/集合的传递,不过使用struts中present、logic、bean标签好像有点问题
而在菜单显示中,数据来源是数据库/文本数据,所以就碰到了如何向此整体页面传递数据(单个字符数据或对象/列表)的问题。经过半天的研究,初步有些想法,遂记之,方便自己,方便大家,还请不吝提出意见和建议 ^_^.
其实至今对jsp中几个作用域还有些模糊,今天使用session,达到了预期效果。
一、在action中进行session赋值(此处为剪短调试时间,遂写死)
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { HttpSession session = request.getSession(); session.setAttribute("vname", "menuName"); session.setAttribute("len", 1); session.setAttribute("link", "test1.html"); session.setAttribute("mname", "menu1"); return mapping.findForward("test"); }
二、frame页面(主要测试页面为format.jsp)
<html> <frameset rows="175,70%"> <frame noresize="noresize" src="page/newmenu/format_up.html" frameborder="no"> <frameset cols="190,75%"> <frame noresize="noresize" src="page/newmenu/format.jsp" frameborder="yes"> <frame noresize="noresize" src="page/newmenu/format_main.html" name="showframe" frameborder="yes"> </frameset> </frameset> </html>
三、format.jsp(此处略写)
<%
String vname = (String)session.getAttribute("vname"); String len = String.valueOf(session.getAttribute("len")); String link = (String)session.getAttribute("link"); String mname = (String)session.getAttribute("mname");
%>
<javascript>
var t1 = '<%=vname%>'; var t2 = <%=len%>; var t3 = ['<%=link%>']; var t4 = ['<%=mname%>']; _barList[t1] = [t2,t3,t4];</javascript>
ps:
测试未完,会再补上,朋友们有想法的可以讨论
ps2:
今天已经测试可以对对象/集合的传递,不过使用struts中present、logic、bean标签好像有点问题