环境:JDK1.6 weblogic10.3 EJB3.0 JSF1.2 WEB2.5
无法注入EJB
TestEvent.java
package com.nec.jp.sdetest.jsf;import javax.ejb.EJB;import com.nec.jp.sdetest.ejb.ITestEjbLogicBean;
import com.nec.jp.sdetest.ejb.TestEjbInputData;
import com.nec.jp.sdetest.ejb.TestEjbResultData;public class TestEvent implements java.io.Serializable{ @EJB(name="TestEarProject/TestEjbLogicBean/local") // ITestEjbLogicBean iTestEjbLogicBean=new TestEjbLogicBean();
ITestEjbLogicBean iTestEjbLogicBean; public String select1 (){
//ELResolverを取得します。
//javax.faces.context.FacesContext facesContext = javax.faces.context.FacesContext.getCurrentInstance();
//javax.el.ELContext elcontext = facesContext.getELContext();
//javax.faces.application.Application application = facesContext.getApplication();
//指定したManagedBeanを返します。
//Object managedBean = application.getELResolver().getValue(elcontext, null, "ManageBeanName"); // own from
javax.faces.context.FacesContext facesContext = javax.faces.context.FacesContext.getCurrentInstance();
javax.el.ELContext elcontext = facesContext.getELContext();
javax.faces.application.Application application = facesContext.getApplication();
TestForm managedBean = (TestForm)application.getELResolver().getValue(elcontext, null, "TestForm");
TestEjbInputData inputData = new TestEjbInputData();
inputData.setInputCd(managedBean.getInputCd());
TestEjbResultData resultData = iTestEjbLogicBean.execute(null, inputData);
String price = resultData.getPrice().toString();
managedBean.setPrice(price);
return "next";
// return null;
// own to
}
}
ITestEjbLogicBean.javapackage com.nec.jp.sdetest.ejb;import com.nec.jp.sdetest.ejb.*;import javax.ejb.Local;
import javax.ejb.TransactionAttribute;@Local
public interface ITestEjbLogicBean { public com.nec.jp.sdetest.ejb.TestEjbResultData execute(
com.nec.jp.sdetest.ejb.ContextData context,
com.nec.jp.sdetest.ejb.TestEjbInputData inputData);
}
TestEjbLogicBean.javapackage com.nec.jp.sdetest.ejb;import java.sql.SQLException;
import java.util.List;import com.nec.jp.sdetest.db.ProductDAO;
import com.nec.jp.sdetest.db.ProductDTO;
import com.nec.jp.sdetest.ejb.*;import javax.ejb.TransactionAttribute;
import javax.ejb.Stateless;/**
* TestEjbLogicBean LogicBeanクラス
*/
@Stateless
public class TestEjbLogicBean implements com.nec.jp.sdetest.ejb.ITestEjbLogicBean{ public TestEjbLogicBean(){
}
@TransactionAttribute
public com.nec.jp.sdetest.ejb.TestEjbResultData execute(
com.nec.jp.sdetest.ejb.ContextData context,
com.nec.jp.sdetest.ejb.TestEjbInputData inputData){
com.nec.jp.sdetest.ejb.TestEjbResultData resultData = new com.nec.jp.sdetest.ejb.TestEjbResultData();
// own from
List<ProductDTO> list = null;
ProductDTO dto = new ProductDTO();
ProductDAO productDAO = new ProductDAO();
dto.setIN1(inputData.getInputCd());
try {
list = productDAO.read(dto);
} catch (SQLException e) {
}
resultData.setPrice(list.get(0).getPRICE());
// own to return resultData;
}
}
无法注入EJB
TestEvent.java
package com.nec.jp.sdetest.jsf;import javax.ejb.EJB;import com.nec.jp.sdetest.ejb.ITestEjbLogicBean;
import com.nec.jp.sdetest.ejb.TestEjbInputData;
import com.nec.jp.sdetest.ejb.TestEjbResultData;public class TestEvent implements java.io.Serializable{ @EJB(name="TestEarProject/TestEjbLogicBean/local") // ITestEjbLogicBean iTestEjbLogicBean=new TestEjbLogicBean();
ITestEjbLogicBean iTestEjbLogicBean; public String select1 (){
//ELResolverを取得します。
//javax.faces.context.FacesContext facesContext = javax.faces.context.FacesContext.getCurrentInstance();
//javax.el.ELContext elcontext = facesContext.getELContext();
//javax.faces.application.Application application = facesContext.getApplication();
//指定したManagedBeanを返します。
//Object managedBean = application.getELResolver().getValue(elcontext, null, "ManageBeanName"); // own from
javax.faces.context.FacesContext facesContext = javax.faces.context.FacesContext.getCurrentInstance();
javax.el.ELContext elcontext = facesContext.getELContext();
javax.faces.application.Application application = facesContext.getApplication();
TestForm managedBean = (TestForm)application.getELResolver().getValue(elcontext, null, "TestForm");
TestEjbInputData inputData = new TestEjbInputData();
inputData.setInputCd(managedBean.getInputCd());
TestEjbResultData resultData = iTestEjbLogicBean.execute(null, inputData);
String price = resultData.getPrice().toString();
managedBean.setPrice(price);
return "next";
// return null;
// own to
}
}
ITestEjbLogicBean.javapackage com.nec.jp.sdetest.ejb;import com.nec.jp.sdetest.ejb.*;import javax.ejb.Local;
import javax.ejb.TransactionAttribute;@Local
public interface ITestEjbLogicBean { public com.nec.jp.sdetest.ejb.TestEjbResultData execute(
com.nec.jp.sdetest.ejb.ContextData context,
com.nec.jp.sdetest.ejb.TestEjbInputData inputData);
}
TestEjbLogicBean.javapackage com.nec.jp.sdetest.ejb;import java.sql.SQLException;
import java.util.List;import com.nec.jp.sdetest.db.ProductDAO;
import com.nec.jp.sdetest.db.ProductDTO;
import com.nec.jp.sdetest.ejb.*;import javax.ejb.TransactionAttribute;
import javax.ejb.Stateless;/**
* TestEjbLogicBean LogicBeanクラス
*/
@Stateless
public class TestEjbLogicBean implements com.nec.jp.sdetest.ejb.ITestEjbLogicBean{ public TestEjbLogicBean(){
}
@TransactionAttribute
public com.nec.jp.sdetest.ejb.TestEjbResultData execute(
com.nec.jp.sdetest.ejb.ContextData context,
com.nec.jp.sdetest.ejb.TestEjbInputData inputData){
com.nec.jp.sdetest.ejb.TestEjbResultData resultData = new com.nec.jp.sdetest.ejb.TestEjbResultData();
// own from
List<ProductDTO> list = null;
ProductDTO dto = new ProductDTO();
ProductDAO productDAO = new ProductDAO();
dto.setIN1(inputData.getInputCd());
try {
list = productDAO.read(dto);
} catch (SQLException e) {
}
resultData.setPrice(list.get(0).getPRICE());
// own to return resultData;
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货