整合系列之二--------------Struts 2整合MyFaces(16)

jsf配置myfaces各种jar 本人用的是Myeclipse7.0+J2EE5.0+JSF开发,配置myfaces各种jar,包括上传.考到lib下就可以.哪里不明加我QQ问我 200808006 立即下载

14.2  Struts 2整合MyFaces

要在Struts框架中整合MyFaces实现,只需要将相关的pluglin插件和相关类库复制到Web应用的lib目录下,增加一些配置内容就可以完整支持MyFaces。

14.2.1  整合步骤

下面介绍Struts 2框架整合MyFaces的详细步骤。

(1)复制MyFaces类库。将下载后的MyFaces压缩包解压,复制lib目录下的所有jar文件到Web应用的WEB-INF/lib目录下。

(2)复制MyFaces插件。Struts 2框架下载包的lib目录下已经包含了JSF的插件,文件名称为struts2-jsf-plugin-x.x.x.jar,x为相应的版本号。需要将该文件复制到Web应用的WEB-INF/lib目录下。

(3)增加web.xml内容。为了整合Myfaces,需要在web.xml文件中增加如下内容:

<!--配置Myfaces-->

    <listener>

        <listener-class>

            org.apache.myfaces.webapp.StartupServletContextListener

        </listener-class>

    </listener>

    <!-- JavaServer Faces Servlet 配置-->

    <servlet>

        <servlet-name>faces</servlet-name>

        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>

        <load-on-startup>1</load-on-startup>

    </servlet>

    <!-- JavaServer Faces Servlet Mapping配置 -->

    <servlet-mapping>

        <servlet-name>faces</servlet-name>

        <url-pattern>*.action</url-pattern>

    </servlet-mapping>

(4)导入MyFaces标签库。为了在JSP视图中使用MyFaces标签,需要在JSP文件中使用如下代码来导入MyFaces标签库:

<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>

<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>

(5)引用JSF拦截器。还需要在Struts 2框架的Action配置文件中引用JSF拦截器,该拦截器默认名称为jsfStack,一个典型的引用拦截器的包配置如下:

<!--定义一个jsf包,该包继承jsf-default,jsf-default在struts-plugin.xml中定义-->

    <package name="jsf" extends="jsf-default">

        <interceptors>

            <!--自定义拦截器栈-->

            <interceptor-stack name="jsfFullStack">

                <interceptor-ref name="params" />

                <interceptor-ref name="basicStack" />

                <!--jsf拦截器引用,见struts-plugin.xml中定义-->

                <interceptor-ref name="jsfStack" />

            </interceptor-stack>

        </interceptors>

        <!--设置为默认拦截器栈-->

        <default-interceptor-ref name="jsfFullStack" />

    </package>

    <!--继承jsf包,同时继承其默认拦截器,不需要再引用该拦截器-->

    <package name="ch14" extends="jsf" namespace="/ch14">

        <action name="list" class="ch14.UserAction">

        … …

        </action>

        … …

    </package>

14.2.2  整合原理

Struts 2框架整合JSF的关键在于Struts 2的plugin插件struts2-jsf-plugin-2.0.11.jar,该插件压缩包的结构如图14.4所示。

图14.4  struts2-jsf-plugin-2.0.11.jar插件目录

该目录下的struts-plugin.xml文件就是插件的配置文件,该文件内容如代码14.1所示。

代码14.1  struts-plugin.xml配置文件

 <!DOCTYPE struts PUBLIC

    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

    "http://struts.apache.org/dtds/struts-2.0.dtd">

    <struts>

<!--  定义jsf-default 包 -->

    <package name="jsf-default" extends="struts-default">

    <!—定义结果类型-->

        <result-types>

            <result-type name="jsf" class="org.apache.struts2.jsf.FacesResult" />

        </result-types>

        <interceptors>

<interceptor class="org.apache.struts2.jsf.FacesSetupInterceptor"

             name="jsfSetup" />

<interceptor class="org.apache.struts2.jsf.RestoreViewInterceptor"

             name="jsfRestore" />

<interceptor class="org.apache.struts2.jsf.ApplyRequestValuesInterceptor"

             name="jsfApply" />

<interceptor class="org.apache.struts2.jsf.ProcessValidationsInterceptor"

             name="jsfValidate" />

<interceptor class="org.apache.struts2.jsf.UpdateModelValuesInterceptor"

             name="jsfUpdate" />

<interceptor class="org.apache.struts2.jsf.InvokeApplicationInterceptor"

             name="jsfInvoke" />

            <interceptor-stack name="jsfStack">

                <interceptor-ref name="jsfSetup">

                   <param name="variableResolver">

                   org.apache.struts2.jsf.StrutsVariableResolver</param>

                   <param name="navigationHandler">

                   org.apache.struts2.jsf.StrutsNavigationHandler</param>

                </interceptor-ref>

                <interceptor-ref name="jsfRestore" />

                <interceptor-ref name="jsfApply" />

                <interceptor-ref name="jsfValidate" />

                <interceptor-ref name="jsfUpdate" />

                <interceptor-ref name="jsfInvoke" />

            </interceptor-stack>

        </interceptors>

        //定义默认拦截器栈

        <default-interceptor-ref name="jsfStack"/>

        </package>

</struts>

该配置文件定义定义了包jsf-default,该包中定义了一个名为jsf的结果类型,同时定义了一系列相关的拦截器,并将这些拦截器组成一个拦截器栈jsfStack,最后设置jsfStack作为包的默认拦截器。

★ 注意 ★

开发者在配置Struts 2框架的Action时,需要继承该jsf-default包,就可以同时继承jsf结果类型和默认的拦截器栈。

MyFaces的标签库文件在类库myfaces-impl-x.x.x.jar文件中,读者可以打开该压缩包,在META-INF目录下有两个标签库文件:myfaces_core.tld和myfaces_html.tld,开发者要在JSP页面中使用这两个标签库,则必须首先在页面中导入,导入代码如下所示:

<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>

<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>

代码中的uri为标签库中的指定值,例如在myfaces_core.tld文件中,有如下内容:

… …

<taglib xmlns="http://java.sun.com/JSP/TagLibraryDescriptor">

   <tlib-version>1.0</tlib-version>

   <jsp-version>1.2</jsp-version>

   <short-name>f</short-name>

   <uri>http://java.sun.com/jsf/core</uri>

   <display-name>JSF core tag library.</display-name>

   <description>

        This tag library implements the standard JSF core tags.

</description>

… …

读者可以看到,该标签库文件中的uri定义同JSP导入相同。

★ 说明 ★

要熟练使用MyFaces的标签库,可以参考相关文档。

 

myfaces-core-2.0.1-bin.zip myfaces最新包,最新版本.myfaces最新包,最新版本. 立即下载

相关推荐

myfaces的jar包,是官网最新的。

MyFaces是JavaServer Faces(JSF) Web框架 (JSR 127)的一个实现。JavaServer(tm) Faces Web框架是一个新的实现MVC模式的规范.它可以与Struts框架相媲美甚至的一些特性与观念已经超过了Struts.【FacesIDE:Eclipse下的一个辅助开发插件】.

Spring 框架参考文档(五)-The Web之同其他web框架集成

Spring 框架参考文档(五)-The Web之同其他web框架集成 Part V. The Web 这部分参考文档将介绍 spring 框架 对表现层的支持(特别是对 web 表现层的支持),和支持 web socket 形式式的web应用。 spring 框架拥有自己的 web 框架 —— Spring Web MVC,这部分将会在前两章

xiangjai的专栏 975

myfaces-shared-core-4.0.18.zip

gwt-zocial.zip,gwt对zocial css按钮的支持。点击http://zocial.smcllns.com/retired查看Zocial。使用zocial css主题的gwt按钮。

Apache myfaces介绍和配置

Apache myfaces介绍和配置 JSF是一个新的基于MVC模型的web应用框架技术。在概念和特征方面,尤其是组件方面,超过了著名的Struts框架。而myfaces是Apache软件基金的一个项目,它实现了JSF框架。同样sun公司也有一个参考实现 JSF RI。但是myfaces比JSF RI提供了更多的组件和特征。 可以参考:http://myfaces.apache.org/in

lizhibin3944的专栏 1241

myfaces-core-assembly-2.2.7-bin.zip

包含有nyface的3个主要jar包:myfaces-api-2.2.7.jar、myfaces-bundle-2.2.7.jar、myfaces-impl-2.2.7.jar

【MATLAB例程,无人机避障7】基于RRT*与人工势场法(RRT*+APF)的多无人机二维动态路径规划与避障

程序采用快速扩展随机树星算法(RRT*)与人工势场法(APF),实现四架无人机在二维动态障碍环境中的路径规划与协同避碰。通过RRT*的邻域选父和节点重连优化全局参考路径,利用APF进行局部动态避障,绘制全局路径、实际轨迹、安全净间隙、速度与加速度及航程等图像,对比RRT+APF与RRT*+APF的规划效果。无人机起终点、障碍物分布、采样次数及运动约束均可自行调整。

JSF(MyFaces) + Facelets 的一些配置和开发准备

    在这里想把用JSF和Facelets开发的一些基本的概念,配置和开发准备留个备忘录。目的是,在今后想用这两样技术的时候,能快速上手,关键的配置和注意点能一目了然,再做一个空的blank prj供开发用。 JSF的各种实现      刚开始一直弄明白JSF RI和Myfaces core是什么东西。 MyFaces Core同样是SUN JSF标准的实现,而JSF RI是

4434

【机械故障诊断】基于VMD分解与故障频率匹配的复合故障分离方法:MATLAB实现与智能运维应用 MATLAB 轴承复合故障分离|VMD分解与故障频率匹配

内容概要:通过结合变分模态分解(VMD)与理论故障频率匹配技术,实现对滚动轴承复合故障的自适应分离与精准诊断。该方法首先对振动信号进行稳健预处理,再通过参数寻优的VMD实现频带自适应分解,随后利用包络解调提取各模态的冲击周期,并基于轴承几何参数和转速计算理论故障频率。通过基频、倍频与边带的多证据匹配策略,将模态与外圈、内圈、滚动体、保持架等具体故障类型关联,支持共享模态的复合故障重构,最终输出各故障类型的独立分量与诊断结果。该方案提升了复杂工况下弱故障的识别能力与诊断的可解释性。; 适合人群:具备一定信号处理与机械故障诊断基础知识,从事工业设备状态监测、智能运维系统开发或相关算法研究的研发人员。; 使用场景及目标:①应用于电机、泵组、风电、轨道交通等领域的轴承复合故障诊断;②解决强弱故障共存、频率重叠导致的掩蔽问题,实现多故障的分离与识别;③为设备的智能运维、健康管理和剩余寿命预测提供可靠的故障分量数据与诊断依据; 阅读建议:此资源以MATLAB R2025b为实现平台,提供了完整的算法流程、代码示例与GUI界面。建议使用者在实践中重点关注参数搜索策略、多证据匹配的实现细节以及共享模态重构的逻辑,并结合实际工程数据进行验证和调优。

基于动态窗口法DWA的机器人路径规划研究(Matlab代码实现)

内容概要:本文系统研究了基于动态窗口法(DWA)的机器人局部路径规划算法,深入剖析其在动态环境中实现自主避障与实时轨迹优化的核心机制。文章详细阐述了DWA算法的速度空间采样策略、轨迹预测模型、动力学约束处理及多目标代价函数的设计原理,并通过构建完整的Matlab仿真框架验证算法有效性。结合典型场景的仿真实验,展示了机器人在复杂障碍物环境下如何实时生成安全、平滑且符合运动学约束的最优路径,充分体现了DWA在移动机器人导航中的实用性与鲁棒性。; 适合人群:具备机器人运动规划基础知识和Matlab编程能力,从事智能移动机器人、自动驾驶或服务机器人研发的研究生、科研人员及工程技术人员。; 使用场景及目标:①深入理解DWA算法的理论基础与实现细节;②掌握机器人局部路径规划的仿真实现方法;③为实际机器人系统的导航模块开发提供可复用的算法原型与代码参考;④作为进一步研究高级导航算法(如TEB、MPC)的技术基础。; 阅读建议:建议结合提供的Matlab代码逐模块分析与调试,重点关注速度采样、轨迹积分、障碍物距离计算及代价评估等关键环节,通过调整参数在不同地图环境中进行对比实验,以深刻把握算法性能与参数之间的关系,进而提升对实时路径规划系统设计的理解与应用能力。

基于.NET8开发,是一套开源、免费、跨平台、企业级在线考试软件,支持x64、x86、Arm64芯片架构的windows和linux操作系统,支持人大金仓、达梦、OceanBase数据库 等数据库

星期八在线考试系统,基于.NET8开发,是一套开源、免费、跨平台、企业级在线考试软件,支持x64、x86、Arm64芯片架构的windows和linux操作系统,支持人大金仓、达梦、OceanBase数据库 及 MySql、SqlServer、PostgreSql、SQLite 等数据库。

TC8测试TCP-UNACCEPTABLE-04/006

TC8测试TCP-UNACCEPTABLE-04/006

升级版本基于多目标粒子群算法的微电网优化调度【风光、储能、柴油、燃气、电网交互】(Matlab代码实现)

内容概要:本文详细介绍了一种基于多目标粒子群算法(MOPSO)的微电网优化调度系统,涵盖风能、太阳能、储能系统、柴油发电机、燃气机组以及与主电网之间的能量交互。通过Matlab编程实现,该模型能够综合优化经济成本、环境污染和能源利用效率等多个目标,对微电网内部多种能源进行协调调度,提升系统整体运行效能与可持续性。文中提供了完整的仿真代码与典型算例分析,具有较强的可复现性和实际应用价值,适用于科研验证与教学演示。; 适合人群:具备一定电力系统基础知识和Matlab编程能力,从事新能源、智能电网、优化算法等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于微电网多能源协同优化调度的研究与仿真;②支撑学术论文的算法复现、改进与对比实验;③为电力系统中多目标优化问题提供可行的技术路径与解决方案参考; 阅读建议:建议结合文中提供的YALMIP工具包及网盘资源链接,进行代码的运行、调试与参数优化,重点掌握目标函数构建、约束条件设定以及MOPSO算法在复杂能源系统中的具体应用方法。

通信行业面向5G微服务的接口测试自动化方案:持续集成中质量门禁与服务虚拟化协同的持续测试体系设计

通信行业面向5G微服务的接口测试自动化方案:持续集成中质量门禁与服务虚拟化协同的持续测试体系设计

数据融合状态估计基于KF、UKF、EKF、PF、FKF、DKF卡尔曼滤波KF、无迹卡尔曼滤波UKF、拓展卡尔曼滤波数据融合研究(Matlab代码实现)

内容概要:本文系统研究了多种卡尔曼滤波算法在数据融合与状态估计中的应用,重点涵盖经典卡尔曼滤波(KF)、扩展卡尔曼滤波(EKF)、无迹卡尔曼滤波(UKF)、粒子滤波(PF)、联邦卡尔曼滤波(FKF)和分布式卡尔曼滤波(DKF)等方法的原理、建模过程及Matlab实现。通过仿真实验对比各类算法在非线性系统、高噪声环境和多传感器耦合场景下的状态估计性能,深入分析其适用条件、精度差异与计算复杂度,特别聚焦于无人机、机器人、导航系统等实际工程背景下的传感器融合问题,提供了完整的算法实现代码与结果可视化分析,帮助读者掌握不同滤波技术的核心机制与工程选型依据。; 适合人群:具备信号处理、控制理论或状态估计基础,从事自动化、电子信息、导航制导、智能系统等相关领域的研究生、科研人员及工程技术人员,尤其适合开展多传感器融合、动态系统建模与状态估计方向研究的专业人士。; 使用场景及目标:①深入理解并对比主流状态估计算法的理论差异与实际表现;②应用于无人机姿态估计、机器人定位、电力系统状态监测等多源信息融合任务;③为科研论文复现、工程项目开发或算法优化提供可靠的Matlab代码参考与技术支撑; 阅读建议:此资源以Matlab代码实现为核心,强调理论与实践结合,建议读者在掌握基本滤波原理的基础上,边运行代码边分析算法流程,尝试调整系统模型与噪声参数,观察不同工况下的滤波效果,从而深化对状态估计技术的理解与应用能力。

myfaces-core

myfaces-core

PSIM-串联谐振半桥LLC开关电源+PFM变频闭环控制【仿真+计算书+参考文献】

内容概要:本文档系统性地整合了电力电子与控制系统仿真领域的丰富资源,聚焦于基于PSIM和Simulink平台的串联谐振半桥LLC开关电源建模与仿真,深入探讨PFM变频闭环控制策略的设计与实现。内容涵盖LLC谐振变换器的工作原理、关键参数设计、开环与闭环仿真模型构建、软开关技术(ZVS/ZCS)、恒压恒流双竞争控制机制以及调频控制等核心技术,配套提供完整的仿真文件、计算书和参考文献,有助于深入理解高频开关电源系统的动态响应特性与稳定性分析方法。此外,文档还汇集了大量拓展性仿真资源,涉及双向DC-DC变换器、PWM整流器、PFC电路、储能系统、微电网优化、DAB变换器、并网逆变器等多个方向,构成一套完整的科研与工程实践参考资料体系。; 适合人群:适用于电力电子、电气工程及其自动化等相关专业的高校本科生、研究生,以及从事开关电源设计、新能源系统开发、电力变换器研发等工作的工程技术人员。; 使用场景及目标:①深入学习LLC谐振变换器的拓扑结构与闭环控制原理;②掌握PSIM/Simulink在电力电子系统中的高精度建模与仿真技能;③为科研项目、学位论文或产品开发提供可复用的技术方案与代码基础;④深化对PFM控制、软启动过程、ZVS/ZCS实现机制及系统稳定性的理解; 阅读建议:建议结合文档中提供的仿真模型与计算书进行同步操作,优先剖析主电路拓扑与控制逻辑架构,再逐步开展参数调节与仿真验证实验,同时可参考所列相关资源拓展技术视野,提升综合设计能力。

三相PWM整流器双闭环仿真(Simulink仿真实现)

内容概要:本文围绕基于Simulink的三相PWM整流器双闭环控制系统展开,详细构建了电压外环与电流内环协同控制的仿真模型,旨在提升整流器在动态响应、稳态精度及系统稳定性方面的性能。文档深入阐述了双闭环控制策略的设计原理,包括PI控制器参数整定、坐标变换(如abc/dq变换)、SVPWM调制技术的应用,并结合电网平衡工况下的控制需求,验证系统在单位功率因数运行、直流侧电压稳定等方面的控制效果。同时,文章强调科研过程中逻辑思维与“借力”意识的重要性,倡导利用高质量开源资源加速研究进程。配套提供了完整的仿真模型与相关技术资料,涵盖YALMIP优化工具包等内容,支持进一步拓展至新能源并网、电能质量治理等工程应用场景。; 适合人群:电气工程、自动化、电力电子与电力传动等相关专业的本科生、研究生及科研人员,特别适用于从事电力电子系统建模、控制算法设计与仿真实践的初学者与进阶学习者。; 使用场景及目标:①掌握三相PWM整流器的工作机理与双闭环控制结构设计方法;②熟练运用Simulink搭建电力电子系统仿真模型;③理解PI控制、前馈补偿、坐标变换在实际系统中的应用;④为后续研究电网不平衡、能量回馈、混合储能系统等复杂工况奠定基础。; 阅读建议:建议按照资源目录顺序系统学习,先理解控制理论框架,再结合Simulink模型进行仿真调试,重点关注各模块信号流向与参数设置,并配合团队提供的其他电力电子与优化控制资源深化技术积累。

Windows开发工具环境管理:Git、Node.js、Python多版本与PATH冲突排查 - 配套实验资源

本资源是《Windows开发工具环境管理:Git、Node.js、Python多版本与PATH冲突排查》的配套实验工具,适用于 Windows PowerShell 5.1 和 PowerShell 7,帮助开发者排查 Git、Node.js、Python、Codex 等工具的多版本共存、PATH 配置异常及命令优先级冲突问题。 **资源包含两个 PowerShell 脚本:** 1. **Get-ToolchainInventory.ps1**:只读环境诊断工具,可列出开发工具的命令候选路径,检查 PATH 目录、重复条目及无效路径。不执行开发工具,也不修改系统配置。 2. **Invoke-PathPrecedenceLab.ps1**:PATH 优先级演示工具,在系统临时目录中生成测试命令,通过临时调整当前进程的 PATH,直观展示 Windows 命令查找与优先级规则。实验结束后自动恢复 PATH 并清理自身创建的临时文件。 **资源特点:** - 兼容 Windows PowerShell 5.1 和 PowerShell 7。 - 支持开发工具路径盘点与 PATH 冲突分析。 - 提供可重复的命令优先级实验。 - 不修改注册表、系统级或用户级环境变量。 - 不卸载软件、不安装依赖、不执行包管理器。 - 适合 Windows 开发环境排查、PowerShell 学习与技术教学。 **使用说明:** 下载后建议先审查脚本,再按照配套文章中的 PowerShell 命令运行。脚本已完成静态检查与打包,尚未经过 Windows 实机执行验证。 **安全提示:** 诊断结果可能包含个人或组织目录信息,公开分享前请脱敏。若受到 PowerShell 执行策略限制,应采用符合环境安全要求的授权方式运行,不建议全局关闭安全限制。

上一篇: Java开发,重在整合-----Struts 2整合Spring(15)
下一篇: 数据信息的交换地-建立一个数据库连接组件(17)
Struts2BBS
博客等级 码龄19年 19粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值