只有tomcat服务器才能正确显示.jsf页面。当我尝试通过eclipse添加项目并查看和测试时,它不会呈现.jsf代码,而是将其显示为源代码。我已经为tomcat配置了eclipse,它工作得很好,但不能让。jsf页面呈现它只是显示源代码,当通过eclipse添加到服务器时,但如果我导出。war文件并在tomcat/webapps上运行它,那么它工作得很好。
eclipse中的源代码示例:
<?xml version="1.0" encoding="UTF-8" ?>
<!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">
<h:head>
<title>PCC Accounts Login</title>
</h:head>
<h:body>
<h:outputStylesheet name="style.css"></h:outputStylesheet>
<h:outputText>testing output text tag WITHOUT using value attributeHELLo ????</h:outputText>
<h:outputText value="testing outputText WITH using the value attribute" />
<h:form>
<h:inputText id="user_id" title="User Name" value="User Name" action="#{loginBean.setUsername}">User Name</h:inputText>
<h:inputText id="password" title="Password" value="Password" action="#{loginBean.setPassword}">Password</h:inputText>
<!-- <h:commandButton id="login" value="Login" action="accounts.jsf">Login Now</h:commandButton> -->
<h:commandButton id="login" value="Login" action="accounts.jsf" />
</h:form>
</h:body>
</html>
从eclipse导出并在tomcat上运行的源代码示例:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="j_idt2">
<title>PCC Accounts Login</title>
<link type="text/css" rel="stylesheet" href="/assign05_test/javax.faces.resource/style.css.jsf" />
</head>
<body>
<input type="hidden" name="j_idt9" value="j_idt9" />
<input id="j_idt9:user_id" type="text" name="j_idt9:user_id" value="User Name" title="User Name" />
<input id="j_idt9:password" type="text" name="j_idt9:password" value="Password" title="Password" />
<input id="j_idt9:login" type="submit" name="j_idt9:login" value="Login" />
</form>
</body>
</html>
所以,Eclipse显然没有呈现JSF页面,但是我将正确的文件添加到Preferences/Java/BuildPath/UserLibraries中。所以我不知道为什么它不工作,但现在我通过导出。war然后在tomcat服务器上运行它来测试,这是一个非常繁琐的过程。还有人遇到这个问题吗?如有任何帮助,我将不胜感激,提前感谢。
尊重,马丁手
在web.xml中设置servlet映射:
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
修改为:
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
有趣的是,它只在试图通过Eclipse运行时影响它,但如果导出.war
,然后在tomcat中添加到/webapps
,它是好的,但这是一个非常繁琐和烦人的过程,当试图开发一个应用程序。如果遇到问题——JSF标签不呈现为HTML