我将我的知识转移到spring,而我真的不知道这是如何工作的。我试图做一个非常简单的例子,使其工作,但我不能使它发挥作用: - ((Spring新手,在jsp页面中调用spring bean方法(2.5,xml),测试
的applicationContext.xml
<bean id="serviceTest" class="es.mov.jose.agenda.ServiceTest">
</bean>
<bean id="serviceMovility" class="es.mov.jose.agenda.ServiceMovility">
<property name="serviceTest" ref="serviceTest" />
</bean>
<bean name="/jose/req1.do" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
<property name="viewName" value="jose/req1" />
</bean>
ServiceMovility.java
package es.mov.jose.agenda;
public interface ServiceMovility {
public String callTest();
}
ServiceMovilityImpl.java
package es.mov.jose.agenda;
import es.mov.jose.agenda.ServiceMovility;
public class ServiceMovilityImpl implements ServiceMovility {
private ServiceTest serviceTest;
public String callTest() {
return serviceTest.getValue();
}
}
ServiceTest.java
package es.mov.jose.agenda;
public interface ServiceTest {
public String getValue();
}
ServiceTestImpl.java
package es.mov.jose.agenda;
import es.mov.jose.agenda.ServiceTest;
public class ServiceTestImpl implements ServiceTest {
public String getValue() {
return "OK";
}
}
最后我req1.jsp
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page import="es.mov.jose.agenda.ServiceMovility"%>
<%@ page import="es.mov.jose.agenda.ServiceMovilityImpl"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ taglib prefix="sp-forms" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<jsp:useBean id="serviceMovility" scope="request" class="es.mov.jose.agenda.ServiceMovilityImpl" />
<div class="main" >
<%
String result = serviceMovility.callTest();
out.println(result);
%>
</div>
</body>
</html>
它叫serviceMovility完美,但不能调用serviceTest callTest方法中,它说显示java.lang.NullPointerException ¿我应该在jsp文件中以这种方式包含bean serviceMovility吗? ¿为什么spring不会在serviceMovility中注入serviceTest初始化?
我花了2天的时间,但是我没能解决所有的问题。我不知道该怎么办。
在此先感谢。
对不起,我把同样的错误。 setter方法和实现是原始代码。我第一次错了。我甚至验证了setter方法被调用。但是当jsp调用bean时,它给了我空指针异常。非常感谢你 – JosiDiez
你可以发布这个'NullPointerException'的完整堆栈跟踪吗? – Xaerxess