在我的action里有这么一段代码: if(ed_dao.findisSet(lession, chapter, difflevel))
//findisSet(lession, chapter, difflevel)的功能是根据lession,chapter,difflevel来查找数据库里面的东西
找到返回true
{
request.setAttribute("isSet", "yes");
if("yes".equals(request.getAttribute("isupdate")))
ed_dao.updateExamDiff(ed);
}
else{
request.setAttribute("isSet", "no");
ed_dao.insertExamDiff(ed);
}
现在我要根据request.setAttribute("isSet", "yes")在JSP页面上取值request.getAttribute("isSet")判断lession,chapter,difflevel组合的内容是否已经设置过,如果设置过了就弹出对话框提示要不要覆盖之前的内容
我在JSP页面上这样写:
<%
if("yes".equals(request.getAttribute("isSet")))
{
%>
<javascript language="javascript">
function newwin()
{
if(confirm("已经设置过,是否覆盖?"))
{
<%
request.setAttribute("isuptate","true");
%>
}
}
</javascript>
<%
}
%> 请各位帮我看看,这样对不对呢?
在线等待解答
谢谢
if("yes".equals(request.getAttribute("isupdate")))
ed_dao.updateExamDiff(ed);
}
这里不会设值从页面到action
if("yes".equals(request.getAttribute("isSet")))
这里不会进来 讲清楚 点,等我回家我们一起讨论下
if(confirm("已经设置过,是否覆盖?"))
{
<%
request.setAttribute("isuptate","true");
%>
在这里设置 ,如果下次再提交的话到了action 后都不是一个请求了,所以在action 是拿不到值的,
{
<%
request.setAttribute("isuptate","true");
%> 你是不 是想,只要拿到 这里设置 的值就可以了啊?
1.你可以用在表单写一个hidden用户点击后设置这个hidden的置,在action 进行判断
2.你可以在表单后面带上一个参数,用户点击confirm 后进行参数设置 ,并在action 进行处理。
呵呵,办法比较蠢,希望对你有用
我想实现的功能是这样的:
我在页面通过post提交然后用action来处理提交的内容
在页面需要通过getAttribute来获得action里面的一个值(isSet)request.setAttribute("isSet", "yes");
来说明刚刚提交的内容在数据库中已经有了记录现在获得这个值(isSet)来弹出一个对话框提示用户是否要
覆盖之前的内容,如果是yes呢就要传一个值(isupdate)到action中
就是这样的
你那样不是在一个请求里面,
if(confirm("已经设置过,是否覆盖?"))
{
<%
request.setAttribute("isuptate","true");
%>
} action 是拿不到 request.getAttribute("isuptate");的值的
用hidden 最好用啦,呵呵
你在表单中写一个
<input name="isuptate" type="hidden" value=""/>
在
if(confirm("已经设置过,是否覆盖?"))
{
document.getElementById("isuptate").value="yes";
}else{
document.getElementById("isuptate").value="no";
}
===========================
最后你到action 通过String isuptate = this.getRequest().getParameter("isuptate");再判断 这个isuptate 就可以了,你试下,呵呵