最近在项目中用到左侧树型菜单,考虑后觉得应该用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标签好像有点问题