//pojo封装
package com.island.struts2.pojo;public class Seach {
private int empNo;
public int getEmpNo() {
return empNo;
}
public void setEmpNo(int empNo) {
this.empNo = empNo;
}
}
//action
package com.island.struts2.action;import java.util.List;import com.island.struts2.pojo.Seach;
import com.island.struts2.use.UseDb;
import com.opensymphony.xwork2.ActionContext;public class SeachAction {
private String eName;
public String geteName() {
return eName;
}
public void seteName(String eName) {
this.eName = eName;
}
public String execute() throws Exception{
UseDb use=new UseDb();
List<Seach> seachs =use.queryByEName(eName);
ActionContext.getContext().getSession().put("seachs", seachs);
return "success";
}
}
//数据库操作
package com.island.struts2.use;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;import com.island.struts2.pojo.Seach;public class UseDb { public List<Seach> queryByEName(String eName){
List<Seach> seachs = new ArrayList<Seach>();
Seach seach=null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:orcl", "scott","tiger");
String sql="SELECT * FROM EMP WHERE ENAME LIKE '%?%'";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, eName);
ResultSet rs = pstmt.executeQuery();
for(;;){
if(rs.next()) break;
seach = new Seach();
seach.setEmpNo(rs.getInt("empNo"));
seachs.add(seach);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return seachs;
}}
//struts2配置文件
<package name="default" extends="struts-default">
<!-- 配置处理客户请求,调用SeachAction -->
<action name="result" class="com.island.struts2.action.SeachAction">
<!-- 定义两个结果,获得取值并返回相应jsp页面 -->
<result name="success">/result.jsp</result>
</action>
</package>
//jsp页面输入,eName返回eName,empNo;
不知道哪里出错了,求帮助
package com.island.struts2.pojo;public class Seach {
private int empNo;
public int getEmpNo() {
return empNo;
}
public void setEmpNo(int empNo) {
this.empNo = empNo;
}
}
//action
package com.island.struts2.action;import java.util.List;import com.island.struts2.pojo.Seach;
import com.island.struts2.use.UseDb;
import com.opensymphony.xwork2.ActionContext;public class SeachAction {
private String eName;
public String geteName() {
return eName;
}
public void seteName(String eName) {
this.eName = eName;
}
public String execute() throws Exception{
UseDb use=new UseDb();
List<Seach> seachs =use.queryByEName(eName);
ActionContext.getContext().getSession().put("seachs", seachs);
return "success";
}
}
//数据库操作
package com.island.struts2.use;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;import com.island.struts2.pojo.Seach;public class UseDb { public List<Seach> queryByEName(String eName){
List<Seach> seachs = new ArrayList<Seach>();
Seach seach=null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:orcl", "scott","tiger");
String sql="SELECT * FROM EMP WHERE ENAME LIKE '%?%'";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, eName);
ResultSet rs = pstmt.executeQuery();
for(;;){
if(rs.next()) break;
seach = new Seach();
seach.setEmpNo(rs.getInt("empNo"));
seachs.add(seach);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return seachs;
}}
//struts2配置文件
<package name="default" extends="struts-default">
<!-- 配置处理客户请求,调用SeachAction -->
<action name="result" class="com.island.struts2.action.SeachAction">
<!-- 定义两个结果,获得取值并返回相应jsp页面 -->
<result name="success">/result.jsp</result>
</action>
</package>
//jsp页面输入,eName返回eName,empNo;
不知道哪里出错了,求帮助
解决方案 »
- SCBCD 认证的疑惑 请大哥们帮我解答
- 求助,解析自定义的xml文件,在线等!谢谢
- myeclipse实现接口方法的排列顺序
- 关于解析XML的 高手们帮帮忙啊 真的很急啊!
- 如何实现把HQL的语句转成SQL语句,并且带参数,急需,在线等
- webwork初学者,求登录实例小程序
- WebLogic,TomCat,JBoss的问题
- hibernate 出错信息大家帮我看一下什么原因
- 关于模仿tomcat自带例程的应用
- 请问如何在Java中把一个文件压缩成一个*.zip文件??
- 三个servlet执行init初始化方法,怎么解决先后顺序问题???
- wsad中,jsp页面无法解析el和jstl表达式?求解,心力交瘁!
将你的这段代码:for(;;){
if(rs.next()) break;
seach = new Seach();
seach.setEmpNo(rs.getInt("empNo"));
seachs.add(seach);}改为:while(rs.next()){
seach = new Seach();
seach.setEmpNo(rs.getInt("empNo"));
seachs.add(seach);
}
还有struts2的配置文件中的package标签,加上namespace属性:<package name="default" namespace="/" extends="struts-default">
这样在浏览器的访问地址是:http://localhost:端口号/项目名/result.action