我試圖通過Java HttpServlet將兩個屬性發送到JSP。問題是它們都在我的JSP文件中顯示爲0(數字)。JSP請求中的屬性變爲0
這裏是doGet方法在我RegisterDeveloper.java文件:
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// Fill up default attributes for the template
req.setAttribute("validation-error", false);
req.setAttribute("validation-error-message", "");
// Redirect to register page
req.getRequestDispatcher("/register.jsp").forward(req, resp);
}
很簡單,當我在屬性的步驟被添加到請求和瀏覽器被重定向到/register.jsp頁面。
這裏是register.jsp頁面的問題部分:
<c:if test="${validation-error}">
<div id="validationError">
<span id="errorText">
${validation-error-message}
</span>
</div>
</c:if>
出於某種原因,我添加到請求的屬性都成爲「0」。
在瀏覽器中顯示的錯誤是:
HTTP Status 500 - javax.el.ELException: Cannot convert 0 of type class java.lang.Long to class java.lang.Boolean
我的web.xml櫃面這是相關的:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>RServer</display-name>
<welcome-file-list>
<welcome-file>homepage.html</welcome-file>
</welcome-file-list>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>RegisterDeveloper</servlet-name>
<servlet-class>com.steven.RegisterDeveloper</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RegisterDeveloper</servlet-name>
<url-pattern>/register</url-pattern>
</servlet-mapping>
</web-app>
我使用的Tomcat6。這一切看起來都非常簡單,而且我在其他頁面上也有類似的代碼,所以我非常努力地看到我錯過了什麼!
任何幫助,非常感謝。
我在我的/ WEB-INF/lib目錄/文件夾javax.servlet.jsp.jstl-1.2.1.jar和javax.servlet.jsp.jstl-API-1.2.1.jar ..
這就是它!我不知道爲什麼我在變量名中使用連字符..非常感謝! –