Skip to Main Content

Java EE (Java Enterprise Edition) General Discussion

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Problem with JSP code - error message

843836Oct 12 2004 — edited Oct 12 2004

Hi,

I've creating the following basic JSP code...

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<c:set value="5" var="x" scope="page"/>
<c:set value="12" var="y" scope="session"/>
<c:set value='${header["accept-language"]}' var="language"/>

<html>
	<head>
		<title> Question 1 </title>
	</head>
	<body>
		<p>
		
		The value of x is
		<c:out value="${x}"/>
		
		The value of y is
		<c:out value="${y}"/>
		
		y-x=
		<c:out value="${y-x}"/>
		

		<table border="1">
			<tr>
				<td> HTTP Header Value </td>
				<td> Value </td>
			</tr>
			<tr>
				<td><c:out value="${language.key}"/></td>
				<td><c:out value="${language.value}"/></td>
			</tr>		
		</table>
		</p>
	</body>
</html>

However when I try and run the JSP over Tomcat, I get the following error message thrown...
**
type
**
Exception report
**
message
**
**
description
**
The server encountered an internal error () that prevented it from fulfilling this request.
**
exception
**
javax.servlet.ServletException: Unable to find a value for "key" in object of class "java.lang.String" using operator "."
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.tryitout.wp2q1_jsp._jspService(wp2q1_jsp.java:123)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
**
root cause
**
javax.servlet.jsp.el.ELException: Unable to find a value for "key" in object of class "java.lang.String" using operator "."
org.apache.commons.el.Logger.logError(Logger.java:481)
org.apache.commons.el.Logger.logError(Logger.java:498)
org.apache.commons.el.Logger.logError(Logger.java:611)
org.apache.commons.el.ArraySuffix.evaluate(ArraySuffix.java:340)
org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145)
org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263)
org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:190)
org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:899)
org.apache.jsp.tryitout.wp2q1_jsp._jspx_meth_c_out_3(wp2q1_jsp.java:239)
org.apache.jsp.tryitout.wp2q1_jsp._jspService(wp2q1_jsp.java:105)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
**
note
**
The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.

I'm basically trying to declare a variable called language with default scope, set its value to be that of the header parameter 'accept-language' and then output the value of the variable 'language'.

If anybody can help me figure out what I'm doing wrong, I'd be very grateful. Thank you.

JP

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Nov 9 2004
Added on Oct 12 2004
2 comments
207 views