jsf 相关问题

JavaServer Faces(JSF)是一种模型 - 视图 - 展示器框架,通常用于创建基于HTML表单的Web应用程序。使用标准组件和渲染工具包,可以使用Facelets或JSP标记定义有状态HTML视图,并通过支持bean连接到模型数据和应用程序逻辑。

有时我看到 JSF URL 是 *.jsf,有时是 *.xhtml,有时是 /faces/*。为什么?

一直在尝试学习JSF,有时我看到URL是*.jsf,有时是*.xhtml或/faces/*。有人可以补充我的知识吗?当我使用 Facelet 创建 JSF 时,文件扩展名是 .xh...

回答 2 投票 0

Primefaces 树中的文本无法复制

我需要复制树中的数据以方便用户使用。由于某种原因无法选择文本。 我需要复制树中的数据以方便用户使用。由于某种原因无法选择文本。 <p:tree id="tree" value="#{valid.value}" var="var" > <p:treeNode collapsedIcon="pi pi-folder"> <p:outputLabel value="#{valid.label}"/> <p:treeNode/> <p:tree/> 我只能在整个树被禁用时选择文本。 我也尝试过设置一些CSS组件,如z-index、指针事件、用户选择、光标等,但似乎没有什么相关的。 我不太清楚 JSF 如何创建这些组件,因为我还是个新手。我很确定禁用状态下发生了一些事情,允许树的渲染执行其他操作。 当您开始从树外部选择时,您可以选择数据,这可能不是您想要的。 我将创建一个按钮,允许用户使用一些 JavaScript 使用 navigator.clipboard.writeText 将文本复制到剪贴板。 请注意,您可以使用 OmniFaces escapeJS 转义要在 EL 中复制的文本。

回答 1 投票 0

在 Tomcat 6 上运行的两个 Web 应用程序之间建立 SSO 和会话共享

我有两个 Web 应用程序,webapp1 (JSF-Spring) 和 webapp2 (Struts) 在单个 Tomcat 6.0 上运行。 Webapp1 使用 JSF 阶段侦听器来保护 web 应用程序中的所有资源。 用户之后

回答 1 投票 0

集成 JSF 时出现“无法从 jsf-impl-2.0.jar 读取 TLD META-INF/jsf_core.tld”错误

我们有一个Struts+Spring+Hibernate应用程序,我们正在尝试集成JSF。为此,我们在 web.xml 和 struts-config.xml 中做了一些配置。我添加了一些 JAR 文件到 WEB-INF/l...

回答 1 投票 0

JSF 的安全问题是什么? [重复]

我对Struts很感兴趣,并且开始学习JSF 2.0。我可以继续使用 Struts 中有效的方法来减少攻击向量,还是有我需要编码的新攻击向量?

回答 1 投票 0

当我从@Startup @Singleton bean的@Schedule调用方法时出现NullPointerException

当我尝试从@Startup @Singleton bean调用@ViewScoped Bean的方法时,我总是遇到错误NullPointerException。我使用@Schedule注解方法来调用@ViewScoped bean方法,为什么呢

回答 1 投票 0

p:commandButton 操作抛出 javax.el.PropertyNotFoundException

错误在于: javax.el.PropertyNotFoundException:/index.xhtml:在 fya.beanpages.IndexBean 类型上找不到属性“validar” 看起来它没有找到 validar 方法。这...

回答 1 投票 0

注释掉的 Facelets 代码仍然调用 #{bean.action()} 等 EL 表达式,并导致 #{bean.action} 上出现 javax.el.PropertyNotFoundException

我的 Facelet 中有以下代码片段: 我的 Facelet 中有以下代码片段: <h:commandLink id="cmdbtn"> <f:ajax event="click" execute="@form" listener="#{screenShotBean.takeScreenshot}" /> </h:commandLink> 它工作得很好,但是当我像这样评论它时, <!-- <h:commandLink id="cmdbtn"> --> <!-- <f:ajax event="click" execute="@form" --> <!-- listener="#{screenShotBean.takeScreenshot}" /> --> <!-- </h:commandLink> --> 然后抛出以下异常: javax.el.PropertyNotFoundException: Property 'takeScreenshot' not found on type monstage.test.com.ScreenShotBean at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:237) at javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:214) at javax.el.BeanELResolver.property(BeanELResolver.java:325) at javax.el.BeanELResolver.getValue(BeanELResolver.java:85) at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176) at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203) at org.apache.el.parser.AstValue.getValue(AstValue.java:169) at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189) at com.sun.faces.facelets.el.ELText$ELTextVariable.toString(ELText.java:217) at com.sun.faces.facelets.el.ELText$ELTextComposite.toString(ELText.java:157) at com.sun.faces.facelets.compiler.CommentInstruction.write(CommentInstruction.java:77) at com.sun.faces.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:82) at com.sun.faces.facelets.compiler.UILeaf.encodeAll(UILeaf.java:183) at javax.faces.render.Renderer.encodeChildren(Renderer.java:168) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782) at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:424) at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:125) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594) 当我如下更改带括号的方法表达式时, <!-- <h:commandLink id="cmdbtn"> --> <!-- <f:ajax event="click" execute="@form" --> <!-- listener="#{screenShotBean.takeScreenshot()}" /> --> <!-- </h:commandLink> --> Then 不会抛出异常,但仍然被调用。 这是怎么造成的,如何解决? 仔细查看堆栈跟踪。这是相关部分: ... org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189) com.sun.faces.facelets.el.ELText$ELTextVariable.toString(ELText.java:217) com.sun.faces.facelets.el.ELText$ELTextComposite.toString(ELText.java:157) com.sun.faces.facelets.compiler.CommentInstruction.write(CommentInstruction.java:77) ... 因此它在注释块中评估 EL(可通过 CommentInstruction 识别)。注释块被视为模板文本。默认情况下,Facelets 也会评估模板文本中的 EL #{}。就像您在编写 <p>#{screenShotBean.takeScreenshot}</p> 时没有任何 JSF 标签一样。 您有多种选择: 完全删除评论块。 通过在注释中添加 \ 前缀来转义 EL 表达式,如 所示 \#{screenShotBean.takeScreenshot} 这样他们就不会被评价。 将整个注释块包裹在 <ui:remove> 中,这样它就不会出现在组件树中(也不会出现在生成的 HTML 输出中)。 通过将以下上下文参数添加到 web.xml 来禁用 Facelets 对 all 注释的解析: <context-param> <param-name>jakarta.faces.FACELETS_SKIP_COMMENTS</param-name> <param-value>true</param-value> </context-param> 请注意,通过这种方式生成的 HTML 输出中不会出现任何评论。 除了 BalusC 已经提供的 选项,您还可以将属性 rendered="false" 添加到您的 commandLink。 如果您希望能够快速切换多个组件,您可能需要考虑在 bean 中创建调试属性或使用项目阶段: rendered="#{facesContext.application.projectStage == 'Development'}" 您还可以使用上下文参数来跳过 web.xml 中的注释。 这是参数: javax.faces.FACELETS_SKIP_COMMENTS

回答 3 投票 0

类“packageName.DonacionBean”没有属性“donar” - 未检测到操作方法?

我在使用 EJB 和 JSF 的 Java 项目中遇到了一个问题,这非常令人沮丧。我有一个简单的设置,其中 XHTML 文件调用托管 bean 中定义的方法。 这是我的 .xhtml:...

回答 1 投票 0

JSF - 类“packageName.DonacionBean”没有属性“donar” - 未检测到操作方法?

我在使用 EJB 和 JSF 的 Java 项目中遇到了一个问题,这非常令人沮丧。我有一个简单的设置,其中 XHTML 文件调用托管 bean 中定义的方法。 这是我的 .xhtml:...

回答 1 投票 0

PrimeFaces selectOneMenu 动态 =“true”不起作用

我尝试在加载页面时不加载 p:selectOneMenu 项目列表,因为该列表太大。我将属性dynamic =“true”设置为延迟加载,但它总是加载lis...

回答 2 投票 0

Primefaces import enum all 选项不适用于 JSF PROJECT_STAGE 设置为 Production

我有一个 Java EE Web 项目,我在其中使用 Primefaces 作为 UI 组件。我正在使用 Primefaces 提供的带有全后缀的导入枚举功能。当我的 JSF PROJECT_STAGE 设置为

回答 1 投票 0

JSF 页面中出现带有 <f:websocket> 的错误“websocket is null”

上下文:Jakarta EE 10,Payara 6.2024.7,网络配置文件。爪哇21。 我的应用程序使用 OpenAI API 和 LangChain4j 进行非“定制”聊天。 在网页中,表单将问题发送到

回答 1 投票 0

为 primefaces ext 输入数字设置小数位格式

我有一些代码如下(工作正常) 我有一些代码如下(工作正常) <pe:inputNumber value="#{myBean.myVal}" minValue="0" maxValue="999999999999999.999999999" emptyValue="1" thousandSeparator="." decimalSeparator="," /> 然后,如果我输入[1],它将显示[1,000000000],我的麻烦是很多零可能会让我的用户感到困惑。 是否有办法在此输入上修剪它?,只显示用户输入的任何内容,例如[1,20] -> [1,2] or [1,20] 我的脚本: function trimDecimalPlace(){ var curVal = $(".ui-inputNum > input:first-child").val(); var parseVal = ''; if(curVal.indexOf(".") > curVal.indexOf(",")){ var tokens = curVal.split("."); var decimalVal = parseFloat("0."+tokens[1])+""; if(decimalVal != "0"){ parseVal = tokens[0]+"."+decimalVal.substring(2); }else{ parseVal = tokens[0]; } }else{ var tokens = curVal.split(","); var decimalVal = parseFloat("0."+tokens[1])+""; if(decimalVal != "0"){ parseVal = tokens[0]+","+decimalVal.substring(2); }else{ parseVal = tokens[0]; } } $(".ui-inputNum > input:first-child").val(parseVal); } 并在模糊时调用它: <pe:inputNumber value="#{myBean.myVal}" minValue="0" maxValue="999999999999999.999999999" emptyValue="1" onblur="trimDecimalPlace();" thousandSeparator="." decimalSeparator="," /> 您可以使用 decimalPlaces 属性。默认值是从 maxValue 属性获取的,因此在您的情况下它是 999999999999999.999999999. 只需将标签 padControl="false" 与 inputNumber 控件一起使用 <p:inputNumber style="width:140px;" value="#{mopEdicionBean.permisoMop.mopKlmtFinalB}" thousandSeparator="" decimalPlaces="3" maxlength="4" minValue="0" maxValue="9999" size="16" padControl="false"> <p:ajax event="change" update="nombre_permiso"/> </p:inputNumber> p:inputNumber 很难与可变长度的数字一起使用。只需将 p:inputText 与大 maxFractionDigits 一起使用,并强制区域设置获得正确的小数分隔符和千位分隔符。 <p:inputText value="#{myBean.myVal}"> <f:convertNumber minFractionDigits="1" maxFractionDigits="50" locale="#{myBean.locale}"/> <f:validateDoubleRange minimum="0" maximum="999999999999999.999999999"/> </p:inputText>

回答 4 投票 0

在java spring上运行primefaces

我很久以前出于课堂目的使用了 JSF 和 PrimeFaces。 现在我想进入春季并为自己建立一个网站,但我没有得到任何支持。 通常我想做的事...

回答 1 投票 0

具有 CDI 注入的全局 JSF 异常处理程序

我目前能够使用自定义异常处理程序捕获所有异常,如下所述: JSF 2 全局异常处理,导航到错误页面未发生 我正在做广泛的你...

回答 3 投票 0

在primefaces条形图的每个条上显示值

是否可以在 Primefaces BarChartModel 上的每个柱形上/内部/上方显示值。我没有找到这个功能。我在 jsf 应用程序中使用 primefaces 13.0.0。我想要一些像...

回答 1 投票 0

Primefaces 数据表在更改页面后未正确呈现

我创建了一个通知托盘。首先,它的结构是使用 p:tabView 标签和两个选项卡进行编码的,每个选项卡内部都有一个 p:dataTable。当我尝试更改其中一个 p:dataTable 的页面时,ne...

回答 1 投票 0

PFE 表如何防止 PF7 中冻结列调整大小

我一直在使用 primefaces,工作表组件满足了我完成工作所需的大部分要求,做了一些研究并添加了上下文菜单和其他功能,但是我的...

回答 1 投票 0

向 jakarta.faces.Messages 国际化添加新语言

在 jakarta.faces 中,这些是唯一可用的消息翻译(显示的消息取自位于 jakarta.faces.Messages 的 jar jakarta.faces-4.1.1): 我需要添加 Messages_it.prop...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.