0

我目前正在从事一个项目,我想从 3.3.3 版迁移到 RichFaces 4.2.3。并将 JSF1.2 转换为 JSF2.0 。
部署我的项目后出现一些奇怪的错误。
“org.apache.jasper.JasperException: /Web/login.jsp(21,20) #{...} is not allowed in template text”
这是我的 login.jsp 文件

<code>


  <?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:a4j="http://richfaces.org/a4j"
    xmlns:rich="http://richfaces.org/rich">

<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />

</head>
<body>
    <h1>Registration is successful.</h1>
    <a4j:commandButton value="LOGIN"  
        action="#{userBean.validateUser}" />
</body>
</html>
<code>

更奇怪的是,这个错误只发生在动作标签
action="#{userBean.validateUser}" 并且使用 value="#{userBean.pwd}"

伙计们请尝试从这里帮助我,我已经浪费了我的一整天有了这个问题。
提前致谢。

4

2 回答 2

1

看起来 Richfaces 4 及更高版本不支持 JSP

#{...} 不允许出现在模板文本中

于 2013-04-02T16:44:44.167 回答
1

JSP自 JSF 2.0 起已被弃用。所有从一开始就为 JSF 2.0 设计的组件库将不再支持 JSP。其中包括 RichFaces 4.x。RichFaces 3.x 是一个 JSF 1.x 兼容的组件库,也可以在 JSF 2.0 上使用。由于它最初与 JSF 1.x 兼容,因此它只支持 JSP。

如果您需要迁移到 RichFaces 4.x,您还应该从 JSP 迁移到 Facelets (XHTML)。

也可以看看:

于 2013-04-03T12:37:44.093 回答