论坛首页 Java企业应用论坛

如何向含有frameset的页面传递参数

浏览 3870 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-04-08  
    最近在项目中用到左侧树型菜单,考虑后觉得应该用frameset实现页面布局,整体分为上、下左、下右三部分。
     而在菜单显示中,数据来源是数据库/文本数据,所以就碰到了如何向此整体页面传递数据(单个字符数据或对象/列表)的问题。经过半天的研究,初步有些想法,遂记之,方便自己,方便大家,还请不吝提出意见和建议 ^_^.
    其实至今对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标签好像有点问题
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics