2011-10-11 80 views
1

我是jstl的新手。这是我的代码。C:out标签在jstl

的hello.jsp

<%@ page contentType="text/html" %> 
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> 
<html> 
<body> 
    <form method="GET" action="jstl-choose-tag.jsp" > 
Select an operation and click the button<br /><br /> 
<input type="radio" name="radioBtnGroup" value="uCaseOp" />Convert a string to upper Case<br /> 
<input type="radio" name="radioBtnGroup" value="lCaseOp" />Convert a string to lower Case<br /> 

<br /> 
<input type="Submit" /> 
</form> 


</body> 
</html> 

JSTL,选择-tag.jsp:

<%@ page contentType="text/html" %> 
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
    <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 

    <html> 
    <body> 
    <c:if test="${pageContext.request.method=='GET'}"> 
    <c:out value="${param.radioBtnGroup}" /> 
    <c:out value="${param.radioBtnGroup}" /> 
    </c:if> 

<a href="hello.jsp"> Back</a> 
    </body> 
</html> 

这是我得到的输出是

${param.radioBtnGroup} ${param.radioBtnGroup} 

谁能帮助me.Thanks提前。

+1

在浏览器中执行“查看HTML源代码”时生成的HTML代码是什么样的?你有没有在你的webapp的WEB-INF/lib中包含standard.jar和jstl.jar文件?你的tomcat/servlet容器的版本是 –

+0

? – Bozho

+0

当我在hello.jsp页面中添加jstl-choose-tag.jsp代码时,它正在正确显示值。我在下一页中显示的代码相同jstl-choose-tag.jsp文件我正在获取上述输出 – bharathi

回答

2

症状表明JSTL标签已成功解析并执行(否则根本不会在浏览器中看到${foo}),但是不会评估EL表达式(您在浏览器中的字面意思是${foo}) 。

这可能发生在您的web.xml未声明符合时至少 Servlet 2.4/JSP 2.0。如果您的web.xml被声明符合Servlet 2.3或更低版本,或者声明中断,那么JSP 2.0兼容taglib中的EL表达式将不会被评估。

对于正确的web.xml声明示例,请检查底部的our JSTL wiki page。假设你的目标一个Servlet 2.5能够容器(例如Tomcat的6.0,Glassfish的2.X,等等),那么你的web.xml应声明符合Servlet 2.5的:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
    version="2.5"> 

    <!-- Config here. --> 

</web-app> 
0

的EL标签库必须由

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

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

如果提问切换过来有一个很好的机会,它会拿起正确的库,所以只要采取适当的罐子是在classpa日。奇怪的是,即使我在我的web.xml中声明了servlet 2.3(不是2.4或更高版本),这对我来说也很有用,所以这看起来并不重要。我使用Tomcat作为我的servlet容器。