最近在参加学校软件杯大赛,实在属于一个菜鸟,什么都不会,所以弄一个简单的页面搜索也出错好多
今天实现的一个通过jsp的模糊搜索,访问数据库并展现出来
form 中action属性里的jsp页面是将数据传送过去,而submit的onclick属性jsp页面是跳转到需要到达的页面
<form action="Search.jsp" >
<input type="text" name = "CORP_NAME" id = "CORP_NAME" "/>
<input type="submit" onclick="Search.jsp" value="搜索"/>
</form>
search.jsp 页面的接收数据,第一句是通过jsp接收到首页传来的数据,第二句是建立模糊查询语句,第三局是通过自己的连接查询数据库方法来查询
<% String CORP_NAME = new String(request.getParameter("CORP_NAME"));
String sql = "select * from T_CORP where CORP_NAME like '%"+ CORP_NAME +"%'";
XXX(sql);
%>
上面是通过表单进行传输数据并跳转页面的功能实现
接下来是一个通过a标签来实现跳转并进行传值
<a href="HomePage.jsp?CORP_NAME=555">
<a href="HomePage.jsp?CORP_NAME=<% out.print(map.get("CORP_NAME")); %>">
href里HomePage.jsp是跳转的第三个页面, ?之后的CORP_NAME=555 是传送的常量值
<% out.print(map.get("CORP_NAME")); %> 是jsp 查询到的数据,再我做的项目是查找的公司名,是变量
HomePage.jsp 页面里的接收代码,第一句是通过jsp接收到首页传来的数据,第二句是建立仔细查询语句,第三局是通过自己的连接查询数据库方法来查询
<% String CORP_NAME = new String(request.getParameter("CORP_NAME"));
String sql = "select * from T_CORP where CORP_NAME ='"+ CORP_NAME +"'";
XXX(sql);
%>
如果运行时报错,建议通过 out.print(); 检查自己的查询语句和查询数据
如果出现乱码错误,建议修改浏览器的编码设置成自动检测,在tomcat的conf子目录的server.xml
<connector > 后面添加 URIEncoding="utf-8" 既可,小枫是设置成的utf-8
最后就是在进行第三个页面编写时发现jsp代码复用性太差了,每次一个新的<%%> 里都需要建立一个jdbc新对象,而且当多个表有关联时,需要把所有条件全部列出来