try{
rs=condata.executeQuery(sql);
if(rs.next()){
%>
<script language="javascript">
alert("此企业信息已经发布!!");
history.back();
</script>
<%
}
else{
wsql="insert into tb_Enterprise(EnterPriseSort,enterPriseName,Operation,WorkArea,Address,Phone,LinkMan,HandSet,Fax,Email,Http,Intro,IssueDate,UserName) values('"+style+"','"+ename+"','"+
operation+"','"+area+"','"+address+"','"+phone+"','"+linkman+"','"+
hand+"','"+fax+"','"+email+"','"+web+"','"+intr+"','"+showdate+"','"+username+"')";
boolean dd=condata.executeInsert(wsql);
if(dd){
%>
<script language="javascript">
alert("企业信息发布成功!!");
</script>
<%
response.sendRedirect("/logistics/Enterprise/enterprise.jsp");
}
}
rs.close();
}我如果输入相同的企业信息,他会提示我,此企业信息已经发布,但是我如果输入新的信息,并且dd为真,也能跳转到enterprise.jsp,但不提示“企业信息发布成功”不知道为什么啊
解决方案 »
- Servlet Session 购物车
- org.apache.tomcat.util.http.Parameters processParameters
- (急)resin2.1.17结合apache2搭建WEB服务解析扩展名为htm的JSP脚本!
- csdn 是否提供免费空间或邮箱之类的东西!
- 为什么double类型的2828.465除以100后,变成了28.284650000000003
- JSP中的关于文件的问题
- 求教 Myeclipse如何选择程序的全部代码行作为断点?
- 做了类似PL/SQL调整存储过程的例子
- 如何跟踪一个表单得打开和反馈等信息
- 在servlet中有无jsp中类似“<jsp:setProperty name="a1" property="*" />”
- 论坛不支持js代码,怎么办?
- 一个struts2的超级简单的问题。。。求解。。。在线等
boolean bPublicSuccess = false;
try{
rs=condata.executeQuery(sql);
if(rs.next()){
bAlreadyPublished = true;
}
else{
wsql="insert into tb_Enterprise(EnterPriseSort,enterPriseName,Operation,WorkArea,Address,Phone,LinkMan,HandSet,Fax,Email,Http,Intro,IssueDate,UserName) values('"+style+"','"+ename+"','"+
operation+"','"+area+"','"+address+"','"+phone+"','"+linkman+"','"+
hand+"','"+fax+"','"+email+"','"+web+"','"+intr+"','"+showdate+"','"+username+"')";
bPublicSuccess = condata.executeInsert(wsql);
}
rs.close();
}catch(....)%><%if(bAlreadyPublished){%>
<script language="javascript">
alert("此企业信息已经发布!!");
history.back();
</script>
<%}else if(bPublicSuccess)%>
<script language="javascript">
alert("企业信息发布成功!!");
self.location="/logistics/Enterprise/enterprise.jsp";
</script>
<%}else{%>
//发布失败
<%}%>
if(dd){
%>
<script language="javascript">
alert("企业信息发布成功!!");
</script>
<%
response.sendRedirect("/logistics/Enterprise/enterprise.jsp"); //如果成功直接跳转了,前面的Jscript不会执行的
}你这样写法非常混乱,javascript是页面输出到客户端之后才执行的,jsp是在后台的,redirect之后这个js所在页面已经不会输出到客户端了!
sendRedirect(...)覆盖了前面响应输出流,因此前端只会显示重定向后的页面内容,而见不到原始页面的内容
try{
rs=condata.executeQuery(sql);
if(rs.next()){
bAlreadyPublished = true;
}
else{
wsql="insert into tb_Enterprise(EnterPriseSort,enterPriseName,Operation,WorkArea,Address,Phone,LinkMan,HandSet,Fax,Email,Http,Intro,IssueDate,UserName) values('"+style+"','"+ename+"','"+
operation+"','"+area+"','"+address+"','"+phone+"','"+linkman+"','"+
hand+"','"+fax+"','"+email+"','"+web+"','"+intr+"','"+showdate+"','"+username+"')";
bPublicSuccess = condata.executeInsert(wsql);
}
rs.close();
}
catch(Exception e){
rs.close();
e.printStackTrace();
}
%><%if(bAlreadyPublished){%>
<script language="javascript">
alert("此企业信息已经发布!!");
history.back();
</script>我这个还有点问题,当我发布相同信息室,提示此企业信息已发布,但是数据库访问的连接没有关闭,这是为什么啊,是history.back()的原因么
你的mySql语句有问题,insert into 表 values……
你确定你的dd是true。你alert一下。
如果真能是像你说的是true是一定会进去的
<%@ page import="java.sql.*"%>
<jsp:useBean id="condata" scope="page" class="wuliu.conndata"/>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">我jsp上都是这样了,还要怎么弄呢,现在只是数据库查询回来的信息是乱码,
jsp的处理与js无关从你的<%%>代码未见到关闭连接的语句,只有rs.close()history.go(-1)不可能先于你的jsp数据库操作代码执行的 前者是jsp全部处理完毕发到客户端才可能执行
if(dd){
%>
<script language="javascript">
alert("企业信息发布成功!!");
</script>
<%
response.sendRedirect("/logistics/Enterprise/enterprise.jsp");
}
修改成如下:
if(dd){
out.print("alert('企业信息发布成功!!');location.href='/logistics/Enterprise/enterprise.jsp'");
}
你再试试……