首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用泛面时无法识别占位符

问使用泛面时无法识别占位符
EN

Stack Overflow用户
提问于 2013-05-08 19:31:13
回答 1查看 551关注 0票数 0

我是JSF的新手。好吧,我正在尝试通过带有omnifaces的jsf来传递属性,比如占位符。但不知何故,这些属性无法识别。我是不是遗漏了什么?

Faces在Java Server faces库中,我将Html5RenderKitFactory添加到Omnifaces.jar -config.xml中。

下面是JSP文件的内容:

代码语言:javascript
复制
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui" xmlns:o="http://omnifaces.org/ui">
<head>
<title>Login</title>
</head>
<body>
    <div class="container">
        <f:view>
            <f:loadBundle basename="de.jsf.messages" var="msg" />

            <h:form styleClass="form-signin" o:autocomplete="off">
                <h2 class="form-signin-heading">Please sign in</h2>
                <h:panelGrid columns="2">
                    <h:inputText value="#{user.name}" styleClass="input-block-level" placeholder="#{msg.user}">

我用的是Tomcat7.0,MyFaces 2.1,Omnifaces 1.4。

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-08 20:44:12

您正在将遗留JSP与它的后继Facelets (XHTML)混合在一起。您在那里得到的是一个JSP文件。JSP是从JSF2.0(2009年12月发布)开始就被弃用的,并由Facelets (XHTML)继承。JSF2.0兼容库不再具有JSP标记库,并且与JSP不兼容。它们仅为与Facelets一起使用而设计。

将您的page.jsp重命名为page.xhtml,并删除所有<%@ %>内容。这样,PrimeFaces和OmniFaces就可以工作了,而且还可以使用新的JSF2.0特性,比如<h:head>和<f:ajax>。

我不确定您在学习JSF时使用了哪些资源,但是尝试使用JSP表明您正在阅读JSF 1.x目标资源。当您的意图是学习JSF 2.x时,这是不正确的,因为与JSF 1.x相比,JSF 2.x中发生了很多变化。我强烈建议检查两次资源是否以JSF2.x为目标。

另请参阅:

的链接

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16439543

复制
相关文章

相似问题

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