我尝试过具有相同问题的主题的解决方案,但这对我没有用。所以这是我的故事。我创建了非常简单的Web项目:
这里是代码:
package user.bean;
import javax.annotation.ManagedBean;
@ManagedBean
public class User {
private String firstName;
private String lastName;
private String email;
User() {
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
第一个JSF:
<!DOCTYPE html>
<html lang="en"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core">
<h:head>
<title>User Registration Form</title>
<style>
.error {color:red}
</style>
</h:head>
<h:body>
<h:form>
<h:messages styleClass="error"/>
First Name: <h:inputText value="#{user.firstName}"
label="First name"/>
<br/><br/>
Last Name: <h:inputText value="#{user.lastName}"
label="Last name"
required="true"/>
<br/><br/>
Email: <h:inputText value="#{user.email}"
label="Email"
required="true"/>
<br/><br/>
<h:commandButton value="Submit" action="user_response"/>
</h:form>
</h:body>
</html>
第二个JSF:
<html lang="en"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:head>
<title>User Confirmation</title>
</h:head>
<h:body>
<h:form>
User is confirmed: #{user.firstName} #{user.lastName}
<br/><br/>
Email: #{user.email}
</h:form>
</h:body>
</html>
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
我有:NLS缺少消息:CANNOT_FIND_FACELET_TAGLIB in: org.eclipse.jst.jsf.core.validation.internal.facelet.messages
我试过了:
关闭/重新开启项目。
右键单击项目&gt;验证
项目&gt;清理......并清理所选项目。
重启Eclipse。
它没有用。
当我运行它时,我遇到了:HTTP状态404 所以我尝试了这个:
点击Window&gt;显示视图&gt;服务器或右键单击服务器 &#34;服务器&#34;查看,选择&#34;属性&#34;。
在&#34; General&#34;面板,单击&#34;切换位置&#34;按钮。
&#34;位置:[工作区元数据]&#34;应该用其他东西代替。
双击打开服务器的“概述”屏幕。
在“服务器位置”选项卡中,选择“#34;使用Tomcat位置&#34;”。
保存配置并重新启动服务器。
比按属性添加JSF 2.2 (Mojarra 2.2.0)
- &gt; Java构建路径。没有变化。所以我从Build Path中删除它并添加到WEB-INF-&gt; lib。在服务器和面部上运行:HTTP Status 500 - Servlet.init() for servlet Faces Servlet threw exception
。我在我的web.xmp中添加了url-pattern和listener:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>JSF</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
</web-app>
并面临HTTP状态404 - /JSF/user_form.xhtml
我现在正在完成newbe,并且非常感谢这里的一点帮助。感谢。