我写了一个JSP页面.就两上按钮,两个安装都分别调用了JAVA类方法.
当我刷新一下页面时后台就会打印成功,并且两个按钮都执行了,但是我真正点击按钮时又不会产生任何效果。
以下是我的代码,大虾看看。本人初学者。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ include file="/jsp/admin/includeAdmin.jsp"%>
<jsp:useBean id="MySqlBak" class="webapp.MySqlBak" scope="request" />
<html>
<head>
<title>数据库操作</title>
<script type="text/javascript">
function bak()
{
<%
MySqlBak.save();
%>
}
function bak2()
{
<%
MySqlBak.restoration();
%>
}
</script>
</head>
<body>
<p align="center"><b><font size="3"><strong>数据库操作</strong>
</font></b></p><hr/>
<p align="center">
<input type="button" name="sava" value="数据库备份" onclick="bak();"/>
<input type="button" name="restoration" value="数据库恢复" onclick="bak2();"/>
</p>
</body>
</html>
当我刷新一下页面时后台就会打印成功,并且两个按钮都执行了,但是我真正点击按钮时又不会产生任何效果。
以下是我的代码,大虾看看。本人初学者。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ include file="/jsp/admin/includeAdmin.jsp"%>
<jsp:useBean id="MySqlBak" class="webapp.MySqlBak" scope="request" />
<html>
<head>
<title>数据库操作</title>
<script type="text/javascript">
function bak()
{
<%
MySqlBak.save();
%>
}
function bak2()
{
<%
MySqlBak.restoration();
%>
}
</script>
</head>
<body>
<p align="center"><b><font size="3"><strong>数据库操作</strong>
</font></b></p><hr/>
<p align="center">
<input type="button" name="sava" value="数据库备份" onclick="bak();"/>
<input type="button" name="restoration" value="数据库恢复" onclick="bak2();"/>
</p>
</body>
</html>
解决方案 »
- eclipse导入文件夹 覆盖文件 怎么复原
- 请大家推荐java高级编程的书
- 传智播客 09年11月 精品就业班 组团报名!
- 如何让多条sql语句变成一个原子
- 一个dom4j读xml属性的问题
- 关于jsp页面传递参数问题 小急
- 请帮帮我:用jsp如何实现播放.avi
- 我JSP不支持ZHS16CGB231280字符集怎么办,要怎样才能正确接收到ZHS16CGB231280的字符集,急。。。
- 一个很郁闷的问题,请哪位高手帮忙,多谢了!!
- 技术无关分数不多 纯属讨论初入码农行业是java 后来学了一点oracle dba方面的东西。换工作了让学flex。
- 用户选择店铺的风格,怎么保存到数据库?
- 多个动态图片一起显示的问题
生成的页面两个js函数bak() bak2() 是空的,点击按钮当然不会有反应了
动态的标签是加载生成页面时就执行的
就像你在页面中用 ${**} 的时候,在页面生成之后你看见的是**的真正内容一样。
就是说在你生成页面的时候已经执行了MySqlBak.save();
而真正调用JS的时候FUNCTION里是没有东西的
一般的做法是点击按钮,提交表单,把你的对象通过URL传到后台,同时还有个标志位,来区分方法。你这样做是绝对不可以的
<%@ page import="webapp.MySqlBak" %>
<%
MySqlBak mySqlBak = new MySqlBak();
String command = request.getParameter("command");
if("bak".equals(command)) {
MySqlBak.save();
return;
}
if("bak2".equals(command)) {
MySqlBak.restoration();
return;
}
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ include file="/jsp/admin/includeAdmin.jsp"%>
<html>
<head>
<title>数据库操作 </title>
<script type="text/javascript">
function bak() {
document.getElementById("command").value = "bak";
document.getElementById("form1").submit();
}
function bak2() {
document.getElementById("command").value = "bak2";
document.getElementById("form1").submit();
}
</script></head>
<body>
<p align="center"> <b> <font size="3"> <strong>数据库操作 </strong>
</font> </b> </p> <hr/>
<p align="center">
<form action="本页" id="form1" method="post">
<input type="hidden" id="command" name="command"/>
<input type="button" name="sava" value="数据库备份" onclick="bak();"/>
<input type="button" name="restoration" value="数据库恢复" onclick="bak2();"/>
</form>
</p>
</body>
</html> 有错误请指证
刚才没太看明白你的意思,但在JS里写<%%>肯定不行~你的意思是想点击按钮后调用MySqlBak类里的方法是吧?如果只是这样的话 按你这么写 不被执行就怪了 你完全可以做个中转页.点击后跳到那个页里执行你想要执行的方法就好了~然后提示备份成功或恢复成功之类的提示,并返回到操作页不就可以了吗?想要不刷新页面的效果就用DWR之类的东西做~