我在做不同颜色系的切换的页面,即通过css样式,
首先登录时查出表中色系的值,比如我设置的是1为红色,那么主页为红色。
在主页中我设置了切换的链接,点击后它就更换为蓝色,同时更换表中色系的值为2即为蓝色。
涉及到传这个色系值时我用的全是session,因为我用了中间页面所以不能用request.getParameter获取。
也曾试过但是结果是我快点链接,它的效果就是如我想的,但是我过几秒后在点结果是,我得点两下才能从红色切换到蓝色。
注:在点第一次时表中已经改变,但不知为什么必须点两次。下面是源码请帮帮忙
这是我切换时调用的方法,其中form1.submit是更新表中的色系值。
function goChange2()
{
form1.submit();
goChange1();
return false;
}
function goChange1()
{
parent.window.location="/dTree/open_main1.jsp";   //更换版本色系
return false;
}
这是登录和主页的一个中间页面open_main1.jsp。从数据库中取出了值设置到session中
<%   DataConn conn = new DataConn();
Statement stmt = null;
ResultSet rs = null;
Integer color1 = 0;
String name = request.getSession().getAttribute("username")
.toString();
String sql = "select * from DIM_USER_09 where user_id='" + name
+ "'"; //从数据库表中查询所登陆的用户名是否存在。
try {
stmt = conn.getConn().createStatement();
rs = stmt.executeQuery(sql);
if (rs.next()) {
color1 = rs.getInt("color");
//color1 = 2;
request.getSession().setAttribute("acolor", color1);
System.out.println("main1:" + color1);
}
} catch (SQLException e) {
e.printStackTrace();
}
%>
这是一个框架页面即主页面,共分上框架和下框架,这是下框架页引用
<link href="css/rpt<%=session.getAttribute("acolor")%>.css" rel="stylesheet" type="text/css" />
主要就是这三部份,请高手们帮帮忙。

解决方案 »

  1.   

    <form name="form1" method="post" action="Color_Switch">
          <input name="hiddenField" type="hidden" value="<%=count%>"/>
    </form>
      

  2.   

    还是看不懂你的这个东西  你这个from是提交什么的 ?你open_main1.jsp里面好像处理的是获取当前用户的颜色。
      

  3.   

    form只是提交1,2即色系值,把更改后的添到表中,然后从open_main1.jsp里获取,这样主页就显示对应的css样式表中的样式了。 但是我必须提交两次才能实现,注:如果我快点就可以,不知道什么原因
      

  4.   

    问题可能是你必须要刷新页面吧
    使用window.location.reload()去刷新页面
    如果要刷新父页面: parent.window.location.reload()试下, 看能不能用。