1,你这个公共类不用继承Action,单独写一个就可以了,用的时候import
2,用javascript可以实现,主要是form.actiom不一样就可以了
2,用javascript可以实现,主要是form.actiom不一样就可以了
解决方案 »
- java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 1 怎么解决
- 为什么将程序换到另外一台机器上就不能访问Web Services了?求大家帮忙解答
- hibernate-middlegen + mysql 生成不了关系
- org.apache.jasper.JasperException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.请各位高手帮忙谢谢!急
- package a.b;
- 根据XML内容,请写Schema。拜托!
- 高分请教!!!怎么样用JAVA得到ORACLE的表信息
- 紧急求助:在jboss3.2.2上部署.ear文件时出错。在线等。。。。
- JB建立exe文件的问题
- 请推荐一本中文的EJB书
- Struts
- 使用xpath的问题?
cannot resolve symbol: variable servlet in class com.zzcq.stationsrv.util.CommonObject at line 12 (12:26)
我导入这个包import javax.servlet.http.*;
问题依然存在。
2、你说用javascript实现,我主要是想用struts结构实现
然后在Action中用这个方法调用数据源。
datasource=servlet.findDatasource("JNDIname");
2。可以向execute传参数,点击不同的按钮传不同的参数!
在execute中就可以判断:
if(传参数.equals("button1"))
{ try{
......
actionForward = mapping.findForward("success1"); }catch(Exception e){
System.out.println("......"+e);
request.setAttribute("errors",e.getMessage());
actionForward=mapping.findForward("fail");
}
}
if(传参数.equals("button2"))
{ try{
......
actionForward = mapping.findForward("success2"); }catch(Exception e){
System.out.println("......"+e);
request.setAttribute("errors",e.getMessage());
actionForward=mapping.findForward("fail");
}
}再return (actionForward);
在配置文件中这样写<forward name="success1" path="1.jsp"/>
<forward name="success2" path="2.jsp"/>
就可以了!
如果不出错,
1,servlet肯定是一个类,而findDataSource()肯定是一个static方法。在一个单独的类中写getConnection()方法,只要引入servlet这个类就行了。
2,servlet是一个变量,可能是上面实例的。(可你没有贴出来啊)
conn = ds.getConnection();
这里servlet是ActionServlet类的实例,在ActionServlet实例化Action类之后,
该实例传递给Action类。
所以上面这两句话应写在你自己的Action类中!
To: 风雨情缘 and xmpp(火狐狸) 两位师兄:CommonObject.java源文件:
package com.zzcq.stationsrv.util;import org.apache.struts.action.*;
import javax.servlet.http.*;
import java.sql.*;
import javax.sql.DataSource;public class CommonObject extends Action { protected Connection conn;
public Connection getConnection(){
try{
DataSource ds = servlet.findDataSource("stationsrv");
conn = ds.getConnection();
if(conn!=null)
return conn;
else
System.out.println("null");
}catch(SQLException ex){
System.out.println(" Database Connection is failure:" + ex.getMessage());
}
return null;
}
}
注:上面这段代码是我连接数据库写的。
/******************************************我想把上面连接数据库的文件放在一个公共的包中,以后直接调用getConnection()方法,现在我重新建了一个包,
例如:
package com.zzcq.stationsrv.login;import org.apache.struts.action.*;
import javax.servlet.http.*;
import javax.sql.DataSource;
import java.sql.*;
import java.sql.SQLException;
import com.zzcq.stationsrv.util.*;
public class LoginAction extends Action {
public boolean Login(LoginActionForm form) throws Exception {
}
}
我现在的疑点就是:1、我如何在Login()中调用getConnection()这个方法。
2、如果按照fengcau(风雨情缘)兄弟说的,那就相当于在每个Action中
都会去连接数据库,这样不是很好把。