首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jstl输出不起作用

jstl输出不起作用
EN

Stack Overflow用户
提问于 2012-05-25 23:47:06
回答 2查看 8.1K关注 0票数 2

我正在开发一个与Tomcat7 (7.0.27)兼容的应用程序(为tomcat5.5开发)。我在使用jstl时遇到了问题,当我指定:

代码语言:javascript
复制
<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_3_0.xsd"
version="3.0">

在我的WEB-INF/web.xml文件中(以前使用的是2.4版本)。

示例.jsp文件:

代码语言:javascript
复制
%@page
   language="java"
   pageEncoding="utf-8"
   contentType="text/html;charset=utf-8"
   buffer="none"
%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="uri:path-to-layout/layout" prefix="layout" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<fmt:bundle basename="com.path.to.resources.Labels">

..。

代码语言:javascript
复制
<td><input
name="j_username"
id="j_username" 
maxlength="30" 
accesskey="2" 
type="text"
style="width: 150px;"
value="<c:out value="${pageContext.request.remoteUser}" default="" />" /></td>

我收到的不是预期的输出,而是:

代码语言:javascript
复制
${pageContext.request.remoteUser}

作为文本字段中的值。

我使用JSTL 1.2.1,Tomcat 7.0.27,JSP 2.2。代码会编译,当我在web.xml中将web-app版本从3.0更改为2.4时,它不会直接输出这些值(尽管还有其他问题迫使我使用3.0版本)。你知道这个问题的原因是什么吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-30 10:57:02

您提到您使用的是JSTL 1.2.1,我假设它是从Glassfish服务器劫持的以下版本:

  • javax.servlet.jsp.jstl-1.2.1.jar
  • javax.servlet.jsp.jstl-api-1.2.1.jar

但是,根据评论,在/WEB-INF/lib中的117个文件中,您似乎仍然拥有旧的JSTL1.0/1.1库

  • jstl.jar
  • standard.jar

这只会有冲突。Remove

票数 4
EN

Stack Overflow用户

发布于 2012-05-25 23:54:29

您需要对c:out使用单引号,否则将结束input标记的value属性。改为执行以下操作:

代码语言:javascript
复制
<td><input name="j_username" id="j_username" maxlength="30" accesskey="2"
     type="text" style="width: 150px;" 
     value="<c:out value='${pageContext.request.remoteUser}' default='' />" /></td>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10757498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档