相关疑难解决方法(0)

EL表达式未在JSP中评估

我的servlets/jsp Web应用程序存在一个小问题.我正在尝试在jsp页面中使用jstl.当我使用任何标签时,例如:

<c:out value="${command}"/>
Run Code Online (Sandbox Code Playgroud)

它告诉我

${command} 
Run Code Online (Sandbox Code Playgroud)

在我的浏览器中而不是参数'command'值.我正在使用maven(我猜问题就在这里).这是pom xml依赖项:

<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>3.0.1</version>
  <scope>provided</scope>
</dependency>
<dependency>
  <groupId>jstl</groupId>
  <artifactId>jstl</artifactId>
  <version>1.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

我的web.xml声明标记:

<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">
Run Code Online (Sandbox Code Playgroud)

和jsp部分:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<html>

<head>
<title>Parsing results</title>
<link type="text/css" rel="stylesheet" href="css/page.css"/>
<link type="text/css" rel="stylesheet" href="css/table.css"/>
</head>

<body>
<h2 align="center">Results of 
parsing. Parsing method = <c:out value="${command}"/></h2>.......
Run Code Online (Sandbox Code Playgroud)

编辑:设置命令值的代码很简单:

request.setAttribute("command", parser.getName());
Run Code Online (Sandbox Code Playgroud)

然后去

request.getRequestDispatcher(redir).forward(request, response);
Run Code Online (Sandbox Code Playgroud)

请告诉我,我做错了什么!谢谢!

jsp web.xml jstl el

13
推荐指数
1
解决办法
6763
查看次数

Javascript String.replace(/\$ /,str)在jsp文件中很奇怪

为简单起见,我有以下名为test.jsp的文件:

<script language="javascript">
    alert("a$b".replace(/\$/g,"k"));
</script>
Run Code Online (Sandbox Code Playgroud)

我把这个文件放在我的本地服务器上,然后使用firefox:http:// localhost:8080/myproj/test.jsp显示它 .它工作正常,结果警报字符串是:

 akb
Run Code Online (Sandbox Code Playgroud)

但是当我把这个文件放在远程服务器上并使用相同的firefox来显示时,它的输出是:$ bk这对我来说是不正确的.

然后我将test.jsp内容更改为:

<script language="javascript">
    alert("a$b".replace(/\\$/g,"k"));
</script>
Run Code Online (Sandbox Code Playgroud)

请注意,我添加两个斜杠而不是一个.在这种情况下,它适用于远程服务器,但不适用于本地服务器.

然后我将文件从test.jsp重命名为test.html,但内容与我的第一种情况相同,即:

<script language="javascript">
    alert("a$b".replace(/\$/g,"k"));
</script>
Run Code Online (Sandbox Code Playgroud)

通过使用相同的Firefox,它在两个服务器中都可以正常工作.

但是我的文件需要在jsp文件中嵌入javascript.我的文件不允许使用.html后缀.在这种情况下,我该怎么做才能编写可移植的JavaScript?

我的本地服务器使用tomcat-5.5.26; 远程服务器使用tomcat-5.0.28.Firefox版本是3.0.4.

javascript regex jsp tomcat el

4
推荐指数
1
解决办法
6896
查看次数

标签 统计

el ×2

jsp ×2

javascript ×1

jstl ×1

regex ×1

tomcat ×1

web.xml ×1