Spring Boot和JSF / Primefaces / Richfaces
家电修理 2023-07-16 19:17www.caominkang.com电器维修
在用Spring Boot设置FacesServlet 之后
,大惊小怪地看到了这个问题 之后 ,我通过添加几个配置文件以及来自spring-eb的ServletRegistrationBean使其与JSF /
primefaces一起使用。eb.xml和faces-config.xml文件对Spring
Boot的最小化设置(无大量xml文件)的想法有点伤害,但这是我可以用JSF找到的最小化设置,如果有人知道更好/更干净的话方式,请让我知道。
这是我的gradle.build文件中的依赖项
pile group: ".springframeork.boot", name: "spring-boot-starter"pile group: ".springframeork", name: "spring-eb", version: "4.0.2.RELEASE"pile group: ".apache.tomcat.embed", name: "tomcat-embed-core", version: tomcatVersionpile group: ".apache.tomcat.embed", name: "tomcat-embed-logging-juli", version: tomcatVersionpile group: ".apache.tomcat.embed", name: "tomcat-embed-jasper", version: tomcatVersionpile group: ".primefaces", name: "primefaces", version: "4.0"pile group: ".sun.faces", name: "jsf-api", version: "2.1.21"pile group: ".sun.faces", name: "jsf-impl", version: "2.1.21"
哪里
tomcatVersion是“ 7.0.34”。这里的主要更改是
- 删除
spring-boot-starter-eb
,其中还包括M. Deinum指出的Spring MVC - 包括
spring-boot-starter
(更轻松的启动)和spring-eb
- 明确包含tomcat嵌入的依赖项,因为
spring-boot-starter-eb
这里不再存在。
这是我的主班的新内容
package .hello;import .springframeork.boot.SpringApplication;import .springframeork.boot.autoconfigure.EnableAutoConfiguration;import .springframeork.boot.context.embedded.ServletRegistrationBean;import .springframeork.context.annotation.Bean;import .springframeork.context.annotation.ComponentScan;import .springframeork.context.annotation.Configuration;import javax.faces.ebapp.FacesServlet;@Configuration@ComponentScan@EnableAutoConfigurationpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Bean public ServletRegistrationBean servletRegistrationBean() { FacesServlet servlet = ne FacesServlet(); return ne ServletRegistrationBean(servlet, ".xhtml"); }}
@EnableAutoConfiguration如果您电脑维修网希望Spring
Boot自动设置Tomcat,并且ServletRegistrationBean将xhtml请求映射到FacesServlet。
我的ebapp目录中的WEB-INF / faces-config.xml文件
<?xml version="1.0" encoding="UTF-8"?><faces-config xmlns="http://xmlns.jcp./xml/ns/javaee" xmlns:xsi="http://.3./2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp./xml/ns/javaee/eb-facesconfig_2_2.xsd" version="2.2"> <application> <el-resolver>.springframeork.eb.jsf.el.SpringBeanFacesELResolver</el-resolver> </application></faces-config>
并且eb.xml文件也位于ebapp / WEB-INF中
<?xml version="1.0" encoding="UTF-8"?><eb-app xmlns="http://java.sun./xml/ns/javaee"xmlns:xsi="http://.3./2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun./xml/ns/javaee http://java.sun./xml/ns/javaee/eb-app_2_5.xsd"version="2.5"> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.ebapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>.xhtml</url-pattern> </servlet-mapping></eb-app>
servlet定义似乎是多余的,由于某些原因,如果我从eb.xml文件或servlet注册bean中删除它们,则xhtml页面的呈现将无法正常工作或根本无法工作。编辑原来,在eb.xml文件中不需要servlet映射,这只是一个IDE问题,在我的情况下,Intellij
Idea不知道在servlet注册bean中定义了servlet映射,它抱怨关于缺少期望的servlet的映射的信息,该应用程序仍然可以正常运行。
感谢所有贡献者。
空调维修
- 温岭冰箱全国统一服务热线-全国统一人工【7X2
- 荆州速热热水器维修(荆州热水器维修)
- 昆山热水器故障码5ER-昆山热水器故障码26
- 温岭洗衣机24小时服务电话—(7X24小时)登记报
- 统帅热水器售后维修服务电话—— (7X24小时)登
- 阳江中央空调统一电话热线-阳江空调官方售后电
- 乌鲁木齐阳春燃气灶厂家服务热线
- 珠海许昌集成灶售后服务电话-全国统一人工【
- 乌鲁木齐中央空调维修服务专线-乌鲁木齐中央空
- 新沂热水器故障电话码维修-新沂热水器常见故障
- 诸城壁挂炉24小时服务热线电话
- 靖江空调24小时服务电话-——售后维修中心电话
- 空调室外滴水管维修(空调室外排水管维修)
- 九江壁挂炉400全国服务电话-(7X24小时)登记报修
- 热水器故障码f.22怎么解决-热水器f0故障解决方法
- 营口热水器售后维修服务电话—— 全国统一人工