最近在学习《jsp应用开发详解》(飞思)其中有一点问题不明白。想高手帮忙一下。
其中有viewAllEmployee.jsp如下:
<jsp:useBean id="employeeBean" class="com.jspdev.ch17.EmployeeBean" scope="session"/>
<c:set var="employees" value="${employeeBean.employees}"/>
................
<logic:iterate id="emps" name="employees" >
<tr bgcolor="#FFFF88">
<td>
<bean:write name="emps" property="id" /></td>
<td>
<bean:write name="emps" property="name" /></td>
<td>
<bean:write name="emps" property="age" /></td>
<td>
<bean:write name="emps" property="salary" /></td>
<td>
<bean:write name="emps" property="department" /></td>
</tr>
</logic:iterate>
再来看一下EmployeeBean如:(只是一些执行SQL语句的函数,根本没有employees属性)
package com.jspdev.ch17;
import com.jspdev.util.*;
import java.sql.*;
import javax.sql.*;
import java.io.*;
import java.util.*;
public class EmployeeBean
{
private Connection conn ;
public EmployeeBean()throws Exception
{
this.conn=DatabaseConn.getConnection();
}
public void addEmployee(Employee employee)throws Exception
{
this.executeHelper("insert into employee values('"+employee.getId()+"','"+employee.getName()+"',"+employee.getSalary()+",'"+employee.getDepartment()+"',"+employee.getAge()+")");
}
public Collection getEmployees()throws Exception
{
return this.getEmployeeHelper("select * from Employee");
}
public Collection getNoDeptEmployees()throws Exception
{
return this.getEmployeeHelper("select * from Employee where department='temp'");
}
public Collection getDepartmentDemployees(String deptId)throws Exception
{
return this.getEmployeeHelper("select * from employee where department='"+deptId+"'");
}
public void deleteEmployeeFromDept(String employId,String deptId)throws Exception
{
try
{
this.executeHelper("update employee set department='temp' where id='"+employId+"'");
}
catch(Exception e)
{
e.printStackTrace();
throw e;
}
}
public void resetEmploy(String employId,String deptId)throws Exception
{
try
{
this.executeHelper("update employee set department='"+deptId+"' where id='"+employId+"'");
}
catch(Exception e)
{
e.printStackTrace();
throw e;
}
}
private Collection getEmployeeHelper(String sql)throws Exception
{
Statement stmt=conn.createStatement();
ResultSet rst=stmt.executeQuery(sql);
Collection ret=new ArrayList();
while(rst.next())
{
Employee temp=new Employee();
temp.setId(rst.getString("id"));
temp.setName(rst.getString("name"));
temp.setAge(rst.getInt("age"));
temp.setSalary(rst.getFloat("salary"));
temp.setDepartment(rst.getString("department"));
ret.add(temp);
}
return ret;
}
private void executeHelper(String sql)throws Exception
{
Statement stmt=conn.createStatement();
stmt.executeUpdate(sql);
}
}
我的机上是通不过的。
我想问一下高手,这样写对的吗?而且这样的情况出现好多次。
其中有viewAllEmployee.jsp如下:
<jsp:useBean id="employeeBean" class="com.jspdev.ch17.EmployeeBean" scope="session"/>
<c:set var="employees" value="${employeeBean.employees}"/>
................
<logic:iterate id="emps" name="employees" >
<tr bgcolor="#FFFF88">
<td>
<bean:write name="emps" property="id" /></td>
<td>
<bean:write name="emps" property="name" /></td>
<td>
<bean:write name="emps" property="age" /></td>
<td>
<bean:write name="emps" property="salary" /></td>
<td>
<bean:write name="emps" property="department" /></td>
</tr>
</logic:iterate>
再来看一下EmployeeBean如:(只是一些执行SQL语句的函数,根本没有employees属性)
package com.jspdev.ch17;
import com.jspdev.util.*;
import java.sql.*;
import javax.sql.*;
import java.io.*;
import java.util.*;
public class EmployeeBean
{
private Connection conn ;
public EmployeeBean()throws Exception
{
this.conn=DatabaseConn.getConnection();
}
public void addEmployee(Employee employee)throws Exception
{
this.executeHelper("insert into employee values('"+employee.getId()+"','"+employee.getName()+"',"+employee.getSalary()+",'"+employee.getDepartment()+"',"+employee.getAge()+")");
}
public Collection getEmployees()throws Exception
{
return this.getEmployeeHelper("select * from Employee");
}
public Collection getNoDeptEmployees()throws Exception
{
return this.getEmployeeHelper("select * from Employee where department='temp'");
}
public Collection getDepartmentDemployees(String deptId)throws Exception
{
return this.getEmployeeHelper("select * from employee where department='"+deptId+"'");
}
public void deleteEmployeeFromDept(String employId,String deptId)throws Exception
{
try
{
this.executeHelper("update employee set department='temp' where id='"+employId+"'");
}
catch(Exception e)
{
e.printStackTrace();
throw e;
}
}
public void resetEmploy(String employId,String deptId)throws Exception
{
try
{
this.executeHelper("update employee set department='"+deptId+"' where id='"+employId+"'");
}
catch(Exception e)
{
e.printStackTrace();
throw e;
}
}
private Collection getEmployeeHelper(String sql)throws Exception
{
Statement stmt=conn.createStatement();
ResultSet rst=stmt.executeQuery(sql);
Collection ret=new ArrayList();
while(rst.next())
{
Employee temp=new Employee();
temp.setId(rst.getString("id"));
temp.setName(rst.getString("name"));
temp.setAge(rst.getInt("age"));
temp.setSalary(rst.getFloat("salary"));
temp.setDepartment(rst.getString("department"));
ret.add(temp);
}
return ret;
}
private void executeHelper(String sql)throws Exception
{
Statement stmt=conn.createStatement();
stmt.executeUpdate(sql);
}
}
我的机上是通不过的。
我想问一下高手,这样写对的吗?而且这样的情况出现好多次。
解决方案 »
- 视频播放
- 我做的个bbs ,点提交没反应是怎么回事呀,求助?
- 丁丁地图技术
- JSF的问题,请教高手。这个问题困扰好几天了。。。代码写不下去了- -救命!
- 处理doPost()中问乱码
- 急啊!!!在线等式!jsp和mysql连接问题!
- 请教一个弹出多页面问题,解决者送分100
- 我的Apache跟Tomcat无法整合呀!大家帮我看一看,谢谢!
- appletjava文件中却不能使用 vector 的变量如Interger.pasInteger((String)vecMaxMin.elementAt(iLoop))
- request.getRequestDispatcher().forward(request, response)报503错了
- 获得URL的问题
- resin链接池等待12秒的困扰了我一个星期的难题,谁能帮我解决,我请他吃饭
org.apache.jasper.JasperException: Cannot find bean departments in any scope
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)javax.servlet.ServletException: Cannot find bean departments in any scope
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.departmentManage_jsp._jspService(departmentManage_jsp.java:216)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
TOMCAT配置好了没?
要是你们打包便宜代码.
生成的.class文件要放到对应class的目录中.