让 Glassfish 响应 ajax 请求 JSF 2

发布于 2024-11-26 10:40:17 字数 803 浏览 1 评论 0原文

我正在尝试向我的服务器(Glassfish v3.1 开源版)发出 ajax 请求,并且出于任何原因,该请求永远不会发送到服务器,在 tomcat 7 上运行相同的项目它可以正常工作,有任何我应该配置的配置在glassfich或其他东西上制作?

我使用 eclipse helios、jsf 2 MyFaces 2.1.1、richfaces 4.0.0 和 glassfish 3.1 开源版本

这是我的代码 <代码>

<h:panelGroup>
   <h:inputText id="firstName" 
         value="#{RegistrationForm.first_name}"
         required="true"
         requiredMessage="Please enter your first name"> 
         <f:converter converterId="bankingCore.UpperCaseConventer for="firstName"/>
         <f:ajax event="blur" execute="@all" render="@form"/>
    </h:inputText>
    <h:message id="NameError" for="firstName" styleClass="errorClass"/>
</h:panelGroup>             

<代码>

I'm trying to do an ajax request to my server (Glassfish v3.1 open source edition) and for any reason the request never go to the server, running the same proyect on tomcat 7 it works correctly, there's any configuration that i should make on glassfich or anything??

im using eclipse helios, jsf 2 MyFaces 2.1.1, richfaces 4.0.0, and glassfish 3.1 open source edition

here's my code

<h:panelGroup>
   <h:inputText id="firstName" 
         value="#{RegistrationForm.first_name}"
         required="true"
         requiredMessage="Please enter your first name"> 
         <f:converter converterId="bankingCore.UpperCaseConventer for="firstName"/>
         <f:ajax event="blur" execute="@all" render="@form"/>
    </h:inputText>
    <h:message id="NameError" for="firstName" styleClass="errorClass"/>
</h:panelGroup>             

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梅倚清风 2024-12-03 10:40:17

Glassfish 作为一个完整的 Java EE 实现,附带了已经捆绑的 JSF 实现 (Mojarra)。 Glassfish 会在您的网络应用程序之前自动加载它。但由于您在 Web 应用程序中捆绑了不同的 JSF 实现 (MyFaces),因此它会发生冲突。 Tomcat 是一个简单的 JSP/Servlet 容器,不与捆绑的 JSF 一起提供,因此也不会发生冲突(除非您在 Web 应用程序中删除一些不同实现/版本的 JSP/Servlet 库)。

您有 2 个选择:

  1. 删除 Web 应用程序中的 MyFaces 库。如果不更改 Tomcat 的共享类路径以包含 JSF 库,您的 Web 应用程序将不再在 Tomcat 上运行。

  2. 告诉 Glassfish 不要加载其捆绑的 JSF 实现,而是使用 web 应用程序捆绑的 JSF。编辑 Web 应用程序中的 /META-INF/sun-web.xml 文件以包含以下行:

    >
    <属性名称=“useBundledJsf”值=“true”/>
    

Glassfish as being a full Java EE implementation ships with a JSF implementation (Mojarra) already bundled. Glassfish will auto-load it before your webapp. But since you bundled a different JSF implementation (MyFaces) in your webapp, it will collide. Tomcat is a simple JSP/Servlet container and does not ship with JSF bundled so there's also nothing which will collide (until you drop some JSP/Servlet libraries of a different implementation/version in your webapp).

You have 2 options:

  1. Get rid of MyFaces libraries in your webapp. Your webapp will only not run on Tomcat anymore without changing Tomcat's shared classpath to include JSF libraries.

  2. Tell Glassfish to not load its bundled JSF implementation but to use the webapp-bundled JSF instead. Edit the /META-INF/sun-web.xml file in your webapp to contain the following lines:

    <class-loader delegate="false" />
    <property name="useBundledJsf" value="true" />
    
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文