相关疑难解决方法(0)

用于链接/导航到其他JSF页面的URL

当一些文件在子文件夹中时,我对如何在Java Server Faces项目中的文件之间进行链接感到困惑.(我打算附上截图,以便您可以看到Nebeans项目视图,以及我正在尝试的示例的文件视图......但我还不允许添加图像).

我的示例项目我有"index.xhtml"和"calculate/calculate.xhtml"文件.我还有一个名为"template.xhtml"的文件,两者都使用.问题是在模板中使用哪种url格式将适用于这两个文件.

在直接的HTML中我会使用类似下面的内容来提供一个返回主页的链接,该链接可以在任何位置工作:

<a href="/index.html">Home</a>
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚什么算作JSF应用程序的根文件夹,以及是否使用"项目视图"文件夹结构或"文件列表"文件夹结构.

navigation url jsf hyperlink jsf-2

7
推荐指数
1
解决办法
1万
查看次数

javax.faces.DEFAULT_SUFFIX无效

我一直在阅读一些关于javax.faces.default_suffix的帖子,但在尝试实现它时没有成功.

使用:jsf 2.0,jboss 7.1,Mojarra 2.1.5

  • 我需要在URL中显示以下内容:localhost:8080/myproject/index.jsf
  • 导航时还需要显示xxx.jsf

web.xml中

<welcome-file-list>
    <welcome-file>/comum/inicio/index.xhtml</welcome-file>
</welcome-file-list>

<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>  **have tried *.jsf but with no success**
</servlet-mapping>

<context-param>
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
    <param-value>.jsf</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)

你能帮我解决这个问题吗?谢谢

navigation jsf web.xml servlets facelets

5
推荐指数
1
解决办法
5816
查看次数

操作CSRF令牌后仍可访问<protected-views>中声明的视图

我正在探索JSF 2.2中的新功能(到目前为止非常酷),但我仍然不明白受保护的视图是如何工作的,我创建了一个带有facelet2链接的facelet1,如下所示:

<h:link styleClass="link" value="Go to protected page" id="link1"
    outcome="/protected/facelet2.xhtml"></h:link>
Run Code Online (Sandbox Code Playgroud)

在我的faces-config.xml中我添加了这个:

<protected-views>
    <url-pattern>/protected/facelet2.xhtml</url-pattern>
</protected-views>
Run Code Online (Sandbox Code Playgroud)

现在,当我运行页面时,在URL中添加了一个标记:

http://localhost:8080/<project>/protected/facelet2.faces?javax.faces.Token=1426608965211
Run Code Online (Sandbox Code Playgroud)

根据文档,如果令牌与服务器中的令牌不匹配,则不处理GET请求(我的理解是否正确?).

但是,如果我修改令牌(使用Firebug或浏览器中包含的开发工具),即使令牌已被修改,仍会处理请求.

难道我做错了什么?

jsf facelets jsf-2.2 protected-views

5
推荐指数
1
解决办法
1391
查看次数

JSF 2使用HTML页面而不是XHTML

我试图让JSF设置使用具有html扩展名的文件.

如果我使用.xhtml模式(<url-pattern>*.xhtml</url-pattern>)并使用xhtml扩展名命名我的文件,那么页面会正确加载并进行解析.

但是,如果我将其更改为<url-pattern>*.html</url-pattern>并使用.html扩展名命名文件,则会出现500错误:

The server encountered an internal error () that prevented it from fulfilling this request.
Exception: java.lang.NullPointerException
Run Code Online (Sandbox Code Playgroud)

服务器日志:

WARNING: StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet threw exception
java.lang.NullPointerException
    at com.sun.faces.context.flash.ELFlash.getPhaseMapForReading(ELFlash.java:748)
    at com.sun.faces.context.flash.ELFlash.isEmpty(ELFlash.java:466)
    at com.sun.faces.facelets.util.DevTools.writeVariables(DevTools.java:318)
    at com.sun.faces.facelets.util.DevTools.writeVariables(DevTools.java:208)
    at com.sun.faces.facelets.util.DevTools.debugHtml(DevTools.java:123)
    at com.sun.faces.renderkit.RenderKitUtils.renderHtmlErrorPage(RenderKitUtils.java:1139)
    at com.sun.faces.context.ExceptionHandlerImpl.throwIt(ExceptionHandlerImpl.java:249)
    at com.sun.faces.context.ExceptionHandlerImpl.handle(ExceptionHandlerImpl.java:136)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:119)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
    at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791) …
Run Code Online (Sandbox Code Playgroud)

jsf jsf-2

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

无法找到与from-view-id'/pages/index.xhtml'匹配的导航案例

我在JSF页面之间导航时遇到问题.单击命令按钮时,大多数导航都会发生.命令按钮的操作返回一个字符串.

我的登录页面是我的欢迎页面.这是在我的web.xml中:

<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
    <welcome-file>faces/pages/index.xhtml</welcome-file>
</welcome-file-list>
Run Code Online (Sandbox Code Playgroud)

在我浏览器的地址栏中,该页面显示为:

http://localhost:8080/ui/faces/pages/index.xhtml
Run Code Online (Sandbox Code Playgroud)

一旦身份验证发生,该函数返回此字符串:

"/ui/faces/pages/home.xhtml"
Run Code Online (Sandbox Code Playgroud)

我要导航到的文件位于:

pages/home.xhtml
Run Code Online (Sandbox Code Playgroud)

但是当导航应该发生时,我收到此错误:

无法找到与from-view-id'/pages/index.xhtml'匹配的导航案例,用于行动'#{indexPageController.login()}'与结果'/ui/faces/pages/home.xhtml'

任何人都可以帮助我理解正确导航到页面所需的相对路径吗?

navigation jsf view

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

jsf页面中的空白页面

我有一个空白页,当我尝试打开我的网页的http://本地主机:8084/GPSI-工作/ admin.xhtml但是当我尝试这样的http://本地主机:8084/GPSI-工作/面/ admin.xhtml那工作在哪里是问题,我在我的项目中使用模板.

java jsf templates primefaces

2
推荐指数
1
解决办法
6340
查看次数

HTTP状态403 - 拒绝访问所请求的资源(CSS被阻止?)

我一直在努力保护我的项目.我有一个登录页面,使用LDAP服务器进行身份验证,如果不正确,则会启动错误页面等.我现在刚刚添加了

<auth-constraint> <!-- Currently causing a 403, looks like stoping .css files --> 
    <role-name>*</role-name>
</auth-constraint>
Run Code Online (Sandbox Code Playgroud)

到我的web.xml,以确保用户在查看任何页面之前都经过身份验证,但是它似乎阻止了我的.css文件,我想现在登录页面根本没有显示任何css,只是白色基本的,当我按提交时,我得到:

有这个错误:

HTTP状态403 - 拒绝访问所请求的资源


类型状态报告

消息已拒绝访问所请求的资源

说明已禁止访问指定的资源(已拒绝访问所请求的资源).


GlassFish Server开源版3.1.2.2

这是我的web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 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_2_5.xsd">
    <filter>
        <filter-name>Upload Filter</filter-name>
        <filter-class>richard.fileupload.UploadFilter</filter-class>
        <init-param>
            <param-name>sizeThreshold</param-name>
            <param-value>1024</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>Upload Filter</filter-name>
        <url-pattern>/upload/*</url-pattern>
    </filter-mapping>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.xhtml</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>index.xhtml</welcome-file>
    </welcome-file-list>
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    <context-param>
        <param-name>facelets.LIBRARIES</param-name> …
Run Code Online (Sandbox Code Playgroud)

jsf

2
推荐指数
1
解决办法
2万
查看次数

JSF和图书馆Unclarity

在花了一些时间用于servlet和JSP之后,我正在尝试学习一些关于JSF的东西.我已经学习了基础知识,做了几个简单的例子,有一个基本的"工作流程"概念,但我仍然无法理解javax.faces.webapp.FacesServlet的用途.

<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>*.jsf</url-pattern>
  </servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

我知道"Faces Servlet"它只是一个"内部"名称,仅用于XML并且它与一个类绑定,在这种情况下:javax.faces.webapp.FacesServlet.但是这个班级到底在哪里?!我正在使用Eclipse,创建了一个新的动态项目,GlassFish 4.0作为服务器,JSF 2.0作为配置(选择了没有库),我也没有导入任何jar.它怎么样?当我尝试用JBoss运行相同的东西时,我必须导入一个javax.faces-2.2.2.jar文件.

好吧,该库可能已经包含在GlassFish中,因为它可以工作但是......如果我尝试在另一台服务器上部署我的应用程序,我会遇到任何问题吗?像JBoss或Websphere.

简而言之:使用JSF技术时的先决条件是什么:)

谢谢.

java eclipse jsf

2
推荐指数
1
解决办法
2047
查看次数

文件扩展名为".jsf"但为".xhtml"时的JSF ServletException

一旦我尝试通过"http://localhost:8080/beginner/faces/index.jsf"打开我的index.xhtml,我将得到以下异常:

javax.servlet.ServletException
javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
    org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)

java.lang.NullPointerException
com.sun.faces.renderkit.RenderKitImpl.createResponseWriter(RenderKitImpl.java:228)
com.sun.faces.application.view.JspViewHandlingStrategy.renderView(JspViewHandlingStrategy.java:214)
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:125)
    javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:288)
    com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
    com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
    org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)


note The full stack trace of the root cause is available in the JBoss Web/7.0.13.Final logs.
Run Code Online (Sandbox Code Playgroud)

在eclipse中,我通过"新Maven项目向导"创建了一个Maven项目并选择了Group Id:"org.jboss.spec.archetypes",Artifact Id"jboss-javaee6-webapp-blank-archetype"version:7.13我正在使用JBoss 7.1.1.FINAL并尝试了JDK 6和JDK7

index.xthml看起来像这样:

<?xml version="1.0" encoding= "UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html">
    <h:head>
        <title>First JSF</title>
    </h:head>
        <h:body>
            <h1>Hello there</h1>
        </h:body>
</html>
Run Code Online (Sandbox Code Playgroud)

我找了几个小时是有原因的,但是找不到任何解决方案,尽管我做了这个研讨会书告诉我要做的每一步.

jsf facelets servletexception

2
推荐指数
1
解决办法
1742
查看次数