如何在jsp页面内获取数据库内容,且通过按钮修改数据库内容

如何在jsp页面内获取数据库内容,且通过按钮修改数据库内容,第1张

点击按钮后提交给loaddo?id=0001,在loadAction中根据id值取这条数据内容,跳转到update页面,将数据放入对应的input中,用户修改数据,将页面提交给updateAction,updateAction验证,处理数据等 *** 作,最后更新到数据库中。

我这里列出以下主要步骤:

先用select查询:string sql="select from user";

ResultSet rs=connectionexecuteQuery(sql);

当然要数据库连接等 *** 作

之后你想使用什么数据就方便了

比如要显示int型的id

只要用JSP表达式语句

<%=rsgetInt("id")%>

把它嵌入到表格里就行了

js与java是不同语言,运行在不同环境下,因此无法直接获得对方数据。

java运行在服务器端,在同一个jsp文件中,java先运行,js后运行,java可以生成一段js代码,保证js运行得到相应的结果,因此可以用java定义js变量的方式来传递数据,例如:

<script>

var url="<%=url%>";

alert(username);

</script>

上面例子,<%%>中的内容会在服务器端运行,在“”中间输出网址,浏览器就会加载下面的结果:

<script>

var url="gif8cn";

alert(url);

</script>

这部分就是标准的js代码了。

但是还有一种方法通过js获取下拉框的值<select name="sel" onchange="check()"> -- 增加onchange事件<%while (rsnext()) {%><option value=""> -- 这里没有给选项赋值-- 改为,如:<option value="<%=rsgetString(1)%>"><%=rsgetString(1)%></option> <%}%></select><script type="text/javascript">function check(){var id = documentgetElementsByName("sel")value;-- 获取下拉框的值如:拼接url打开页面,var url = 'xxxxdoid=' + id;//注,具体的url你要自己拼写,我这个是列子,不能用的方法1,在本窗口打开页面:windowlocation = url ;方法2,新窗口打开页面windowopen(url)}</script> 追问: 我终于发现了,能读取数据,可是把读取的数据放入数据库中就有问题了,难道还要转码才行吗? 回答: 当然`~~ 追问: 页面编码是gb2312那我要怎样转码呢? 回答: 首先你要知道你的数据库的是什么编码的,你页面的编码要符合你数据库的编码,这样的转码才是正确的 追问: 现在我不是从页面读取数据了,而是直接在程序中测试DatevalueOf("1987-3-7")比如我用这样的方法把这个数据放到数据库中去就自动变成了1905-6-1了,感觉太怪了这个就和编码无关了 回答: 你具体的代码我也不知道,也不好给你说,给你个UTF-8转GB2312的代码吧private String utf8Togb2312(String str){StringBuffer sb = new StringBuffer();for(int i=0; i<strlength(); i++) {char c = strcharAt(i);switch (c) {case '+':sbappend(' ');break;case '%':try {sbappend((char)IntegerparseInt(strsubstring(i+1,i+3),16));}catch (NumberFormatException e) {throw new IllegalArgumentException();}i += 2;break;default:sbappend(c);break;}}String result = sbtoString();String res=null;try{byte[] inputBytes = resultgetBytes("8859_1");

在jsp页面上显示数据库一个表中所有的的内容的方法是迭代。

1、jsp页面接收所有内容的bookslist:

<html>

<body>

<head>

<title>

View Books

</title>

</head>

<body>

<table border=2>

<tr>

<th>Book ID</th>

<th>Title</th>

<th>Author</th>

<th>No of copies AVAILABLE</th>

<th>Number of favourites</th>

</tr>

<%

ArrayList<Book> dbooks=(ArrayList)requestgetAttribute("bookslist");

Iterator it=dbooksiterator();

while(ithasNext())

{

Book b=(Book)itnext();

%>

<tr>

<td><%=bbookID%></td>

<td><%=bbookTitle%></td>

<td><%=bbookAuthor%></td>

<td><%=bbookCopies%></td>

<td><%=bbookFavs%></td>

</tr>

<%

}

%>

</table>

</body>

</html>

2、java代码获取数据库内容:

try

{

ClassforName("commysqljdbcDriver");

Connection con=DriverManagergetConnection("jdbc:mysql://localhost:3307/library", "root", "admin");

PreparedStatement ps=conprepareStatement("select from book");

ResultSet rs=psexecuteQuery();

ArrayList<Book> books=new ArrayList<Book>();

while(rsnext())

{

Book b= new Book();

bbookID=rsgetInt(3);

bbookTitle=rsgetString(1);

bbookAuthor=rsgetString(2);

bbookCopies=rsgetInt(4);

bbookFavs=rsgetInt(5);

booksadd(b);

}

reqsetAttribute("bookslist",books);

conclose();

以上就是关于如何在jsp页面内获取数据库内容,且通过按钮修改数据库内容全部的内容,包括:如何在jsp页面内获取数据库内容,且通过按钮修改数据库内容、请问如何在JSP页面里面将数据库的内容全部列出来、js怎样取得jsp页面从数据库取得的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9803615.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存