JSF开发笔记

JSF Web开发框架入门与实践 本文还有配套的精品资源,点击获取 简介:JavaServer Faces(JSF)是一个基于Java平台的Web开发框架,用于简化Web应用开发,特别是用户交互和表单处理。文章介绍JSF核心概念、组件、FacesContext、转换和验证、导航等,并以《JSF入门》简体中文版作为学习资源,指导读者了解基础架构、生命周期、组件使用及实际应用案例。 1. JavaSe... 阅读详情
 
JSP是构建动态网站、大型web应用程序展现层技术的最佳选择。
JSP技术是Servlet技术的扩展;Servlet是含有HTML代码的java程序,而JSP是含有java代码的HTML程序。
JSP和微软的ASP技术非常相似,主要区别是JSP用Bean封装对象,而ASP用COM封装对象;此外JSP是平台无关的,而ASP只能运行于Windows平台。
JSP通常使用一系列的特殊标签在网页中引入java代码或java片断,如下重要标签
<% 代码 %>:Scriptlet标签
<%! 声明 %>:变量和方法的声明
<%-- 注释 --%>
<%= 表达式 %>
<%@page 属性 %>
<%@taglib uri=”标签路径” prefix=”前缀符” %>
JSP在创建时自动建立的9个重要隐含对象,在Scriptlet或表达式标签等地方可以直接使用
Request、response、pageContent、session、out、application、config、page、exception

 

在xbean中调用另外的bean(RegionBean)时需要如下配置;注意regionbean是managed bean的source文件里的名称,即jsp文件使用时的名称。

web.xml 中增加如下声明

<context-param>

    <param-name>javax.faces.CONFIG_FILES</param-name>

    <param-value>/WEB-INF/web.xml</param-value>

  </context-param>

 

  xbean中获取RegionBean中的属性mregion

import javax.faces.context.FacesContext;

import javax.faces.el.ValueBinding; 

 

  FacesContext context = FacesContext.getCurrentInstance();

  ValueBinding binding = context.getApplication().createValueBinding("#{regionbean.mregion}");

  private MRegion modiregion = (MRegion) binding.getValue(context);

自定义异常(如,设置requered=true,但未输入东西就提交)提示文件mmessage.properties

在faces-config.xml文件中添加

<application>

    <locale-config>

     <default-locale>zh_CN</default-locale>

     <supported-locale>zh_CN</supported-locale>

    </locale-config>

    <message-bundle>mmessage</message-bundle>

  </application>

messages_zh_CN.properties

javax.faces.component.UIInput.REQUIRED=/uff08/u4e0d/u80fd/u 7a 7a/u 7f 3a/uff09

在JDK安装目录中BIN底下有一个转码工具native2ascii.exe 资源文件需要进行Unicode编码,方法是使用这个jdk提供的工具来转换native2ascii unicode到ascii的方式: native2ascii -reverse 原档名转换档名 ascii到unicode方式:

native2ascii  -encoding  GB2312   test.xml

native2ascii  -encoding  GB2312   -reverse  test.xml   test.txt

控制页面上组件的显示:把组件的rendered属性与后台一个boolean对应上,然后控制这个boolean就可以了。

页面上组件的style类型设置,如:style="font: 12px Tahoma,宋体; color: #0000ff";注意用颜色名称指定color不被一些浏览器接受;关于颜色列表可以从http://doc.51windows.net/的CSS2中文手册中查看。

比如修改操作;在对名字的验证中不能调用下边上级区域的更改信息,因为在验证时,所选择的新上级的信息bean还没有处理。

session的访问方法:

HttpServletRequest hrequest = (HttpServletRequest)request;

    String userName =(String) hrequest.getSession().getAttribute("USER_NAME");

    String userRegion = (String)hrequest.getSession().getAttribute("USER_REGION");

int level = (Integer)hrequest.getSession().getAttribute("USER_LEVEL");

分页显示功能:首先安装组件tomahawk- 1.1.6

JSP页面设计如下:

页头定义

<%@taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>

表显示

<t:dataTable id="data"

                  var="car"

                  value="#{pagedSort.cars}"

                  rows="10">

    ……

</t:dataTable>

分页显示

<t:dataScroller id="scroll_1"

                        for="data"

                        fastStep="10"

                        paginator="true"

                        paginatorMaxPages="9">

            <f:facet name="first" >

                <t:graphicImage url="images/arrow-first.gif" border="1" />

            </f:facet>

            <f:facet name="last">

                <t:graphicImage url="images/arrow-last.gif" border="1" />

            </f:facet>

            <f:facet name="previous">

                <t:graphicImage url="images/arrow-previous.gif" border="1" />

            </f:facet>

            <f:facet name="next">

                <t:graphicImage url="images/arrow-next.gif" border="1" />

            </f:facet>

            <f:facet name="fastforward">

                <t:graphicImage url="images/arrow-ff.gif" border="1" />

            </f:facet>

            <f:facet name="fastrewind">

                <t:graphicImage url="images/arrow-fr.gif" border="1" />

            </f:facet>

        </t:dataScroller>

 

 

Myfaces tree2的使用

http://www.myftp.com.cn/Article/develop/JSP/200610/13406.html

http://blog.youkuaiyun.com/taoyinzhou/archive/2005/12/21/557870.aspx

 

jsf开发如何利用js的dtree

1-如果jsp页面有jsf代码,那么在tree的节点url处要用*.faces

2-页面中把节点信息赋值给

              String nodeSelected = request.getParameter("nodeId");

                if((nodeSelected!=null)&&(!nodeSelected.equals("")))

                {

                  request.getSession().setAttribute("NODESELECTED",nodeSelected);

                }

3-在bean中获取session的代码:

     FacesContext fc = FacesContext.getCurrentInstance();

    HttpServletRequest request;

    request = (HttpServletRequest) fc.getExternalContext().getRequest();

    String regionid = (String) request.getSession().getAttribute("NODESELECTED");

4-页面布局可以用table的tr+td来控制。

5-多个form的显示,可以利用rerender属性(绑定bean中一个属性)来控制显示

<script language="JavaScript" type="text/JavaScript">

      document.getElementById("form1:mhostName").focus();

  </script>

自动定位焦点

session.invalidate(); //session失效 

关于B/S系统重新编译巨慢和class文件拷贝不全问题的解决方法

1、Project Properties->Build 选项卡中去掉Check JSPs for errors at build-time

2、右键选择GS8.2WEB,选择Properties->Content选项卡,选择Include all classes and resourcs(第一项),确定,然后再选择第二项,确定。重新编译,没有问题

 

 

提醒大家注意的一点:在应用JSF标签的jsp页面,应用<a4j:support>标签实现多个组件联动时,rerender非常重要,但是rerender的对象如果是panelGrid,看不到联动的效果,必须得用panelGroup把panelGrid包装起来,以panelGroup作为render的对象才有联动的效果

 
JSF实例开发教程(经典入门到精通) JSF开发文档 由浅至深学习JSF开发 从入门到精通系统学习JSF 开发实例 立即下载

相关推荐

JSF开发介绍JSF开发介绍

JSF开发介绍JSF开发介绍JSF开发介绍JSF开发介绍JSF开发介绍JSF开发介绍JSF开发介绍JSF开发介绍JSF开发介绍

web开发框架——JSF开发实战

JSF开发实战的第一篇(jsf开发实战一)演示了如何建立一个最简单的JSF应用,从那个例子中我们可以观察到JSF的页面组件是如何与后台的 javabean绑定的,也看到了JSF标签的最基本使用。在本文中我们会演示一个更加复杂的应用,它包含了更丰富的JSF标签。    要开发的例子是一个用户管理程序,管理员输入帐号与密码登陆,然后它可以看到所有用户的列表,并且可以修改或者删除其中的一些数据。利用my

2088

高效静音黑科技 —— 单相直流无刷电机驱动器

然而,传统的BLDC电机驱动通常依赖于三相架构,电路复杂,成本高昂,且在低功率应用中显得有些“大材小用”。单相直流无刷电机驱动器作为一项高效、静音、经济的技术,正逐渐改变着各个领域的电机驱动方式。其精巧的控制策略、显著的优势以及广阔的应用前景,都预示着这项技术将在未来扮演越来越重要的角色。它相较于传统的三相驱动,显著简化了电路结构,降低了成本,尤其适用于低功率、对静音要求极高的应用场景。通过这些模块的协同工作,单相直流无刷电机驱动器能够实现对电机速度、扭矩的精确控制,并最大程度地降低噪声和振动。

wen8789的博客 1765

JSF开发

前言:     JavaServer Faces (JSF) 是一种用于构建 Web 应用程序的新标准 Java 框架。它提供了一种以组件为中心来开发 Java Web 用户界面的方法,从而简化了开发。JavaServer Faces 还引起了广大 Java/Web 开发人员的兴趣。“企业开发人员”和 Web 设计人员将发现 JSF 开发可以简单到只需将用户界面 (UI) 组件拖放到页面上,而“系统开发人员”将发现丰富而强健的 JSF API 为他们提供了无与伦比的功能和编程灵活性。JSF 还通过将良好构建

gaohuixiang315 829

LabVIEW+数据库应用系列保姆级教程,第一篇数据库连接

目录LabVIEW连接数据库的方法连接MySQL连接Oracle,SQL Server,Access等 LabVIEW连接数据库的方法 1、创建udl(Universal Data Link)是通用数据连接文件。界面操作,简单快捷。 2、编写连接字符串。需要熟悉连接字符串的结构,容易出错。 3、其他… 本教程教你使用第1种方法,也是最简单、最常用的方法。 连接MySQL 1、在MySQL Installer内安装MySQL Connector/ODBC,建议安装32位(X86),如下图: 2、创建ODBC

wwplh5520370的博客 1万+

三维跨孔电磁波CT数据可视化框架搭建

利用matlab实现对跨孔电磁波CT实测数据反演,并搭建了三维CT数据可视化框架,可装填实测CT反演数据。

Neverlevsun的博客 1169

JSF开发实战(一)

JSF开发实战(一)bromon原创 请尊重版权    JSF将是J2EE5.0中所包含的web开发框架,这应该是第一个成为jcp标准,并且随j2eesdk一起发布的web框架,可以看出sun对它的期望很高。JSF最大的竞争对手是tapestry,是apache的产品,但是apache又弄出了个myfaces,是对jsf标准的一个实现。也许你也和我一样,在jsf和tapestry之间犹豫很久,将来

Sometimes Java 3366

道家学派创始人老子,对 SAP ABAP 这门编程语言的客观评价

SAP HANA 之引入,使 ABAP 于处理大数据,云计算等新兴领域,展现新的生命力,如老吾老以及人之老,幼吾幼以及人之幼,扩展其在信息技术领域的应用,以涵养更广之需。ABAP 能以数据为基,流转于系统之中,如道法自然,顺应企业之生态,助之以高效运转,减少冗杂,简化管理,使企之运营,如小国寡民,无为而治。然 ABAP 如老树盘根,更替不易,面对新兴技术,如云计算、大数据等,其更新之速,未能与时俱进。如水之于渊,柔而能胜刚,ABAP 之发展,顺时而动,应需而变,其在编程领域,犹如道之于万物,渐不可或缺矣。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1027

Alpaca-LoRA终极指南:如何快速构建高质量指令调优模型

想要在消费级硬件上训练强大的AI语言模型吗?Alpaca-LoRA让你用单张RTX 4090就能实现!🚀 这个开源项目结合了斯坦福Alpaca和LoRA技术,让每个人都能轻松构建高质量的指令调优模型。无论你是AI爱好者还是专业开发者,这个完整指南将带你从零开始掌握Alpaca-LoRA的核心用法。 ## 🔥 什么是Alpaca-LoRA? Alpaca-LoRA是一个革命性的开源项目,它使

gitblog_00002的博客 399

多传感器标定:如何统一摄像头、雷达与IMU坐标?

多传感器标定:如何统一摄像头、雷达与IMU坐标?​ ,人工智能,计算机视觉,大模型,AI,本文详细阐述多传感器标定中统一摄像头、雷达与 IMU 坐标的方法。先介绍传感器坐标系统、坐标统一必要性及变换数学基础,再分述摄像头与雷达、IMU 与摄像头、IMU 与雷达的标定原理、步骤、参数计算及结果验证,还讲解了多传感器坐标统一的整体流程,分析了标定常见问题及解决办法,介绍了常用标定工具,结合实际案例说明应用,探讨了标定精度的影响因素、提升方法及发展趋势,为相关领域提供了全面的多传感器标定指导。​

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 12万+

【产品经理修炼之道】-如何搭建企业级账务系统?

笔者公司的业务模式具有一定的独特性,不同于我们常见的市面上供应链类公司的进销存模式。公司主要为各大银行和金融机构提供信贷领域的风控服务,客户主要通过请求公司的数据产品接口产生费用,可以简单地理解为请求一次接口收费0.5元,一个月若是有1w人请求同一个接口则公司需要收费5000元。

xiaoli8748的专栏 5406

jsf 开发笔记

List add (obj) 为obj的应用。 Object obj; for() {       list.add(obj); } 与 for() {      obj = new Object();      list.add(obj); }   两者是不同的。 持久化的时候 list1 只持久化一个对象, list2 则持久化所有。  ...

maxwellnewlife的专栏 128

基于STM32的智能电子秤设计毕业论文

摘要:本文设计了一款基于STM32F103C8T6的智能电子秤系统,通过HX711称重传感器实现高精度测量,采用OLED显示和矩阵键盘完成人机交互。系统包含重量采集、数据处理、单价设置、去皮清零及总价计算等功能模块,经测试测量误差小于0.1%,稳定性良好。研究实现了低成本、高可靠性的智能称重方案,为后续无线传输和AI算法集成奠定了基础。关键词:STM32;智能电子秤;HX711;OLED显示;矩阵键盘。

3254968421的博客 849

JSF整合excel打印笔记

JSF整合excel打印笔记

congine_mcfeng的专栏 140

基于POD和神经网络的多工况温度场重构反演系统

本文提出了一种基于本征正交分解(POD)和神经网络的多工况温度场重构反演系统。该系统通过POD方法从多工况温度场数据中提取主要特征模态,构建神经网络模型建立工况参数与POD模态系数的映射关系,实现温度场的快速重构。系统采用Python实现,包含数据预处理、POD分解、神经网络训练和温度场重构等模块。实验结果表明,该方法能够有效降低计算复杂度,实现高精度的温度场预测。

huanghm88的专栏 277

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

JAVA项目开发笔记(4)JSF和Facelets部分:在Sun的JSF实现中加入MyFace等其它JSF实现的扩展

转载请注明出处(Cooper的专栏    http://blog.youkuaiyun.com/cooper_lyt) JSF只是一个API定义,具体的实现有很多如Sun的和apache的myFaces而Sun的JSF实现已经加入到了JavaEE5.0中去了。所以在JavaEE5.0的项目中使用了Sun的实现,但于由JSF的可伸缩性,其它的实现中有很多很好的功能和组件(不知道叫组件是否合适,这东东有点

1341

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

JAVA项目开发笔记(5)框架的融合部分:JSF和AJAX4JSF

 AJAX4JSF从名子上看就知道是专为JSF所设计的,所以同JSF融合起来是很简单的事情,所以这篇文章只列出开发中所遇到的相关问题并写出解决办法,不定时更新。 转载请注明出处(Cooper的专栏    http://blog.youkuaiyun.com/cooper_lyt)使用AJAX4JSF提交时的message错误        由于在使用JAX4JSF的a4j:commandL

731

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

JSF学习笔记超详细,从入门到精通,持续更新中~

JSF笔记 1、JSF概述 1.1 JSF设计目标 冗长且重复的编码 需要处理超文本传输协议(HTTP)请求和相应 1.2 JSF优点 易于创建用户界面 易于验证和数据管理 分离表示和业务逻辑 可扩展的架构 多个客户及设备的支持 1.3 JSF架构概述 1.3.3 JSF支持的渲染套件 HTML渲染套件:用于JSF UI组件的默认渲染套件 WML渲染套件:使用WML浏览器访问JSF页面的客户机 可缩放向量图形(SVG)渲染套件:显示包含图形和动画的UI组件 1.3.4 JSF生命周期 恢复视

冷芝士鸭的学习笔记 1346

JAVA项目开发笔记(5)框架的融合部分:JSF和Spring

 转载请注明出处(Cooper的专栏    http://blog.youkuaiyun.com/cooper_lyt)由于JSF和Spring都支持IOC(依赖注入或反转控制)  所以JSF和Spring的融合还是很简单。可能有人会问即然JSF都支持IOC那么为什么还要用Spring呢,有以下几个原因:1.从分层上来说Spring是业务层,主要用来写业务逻辑,而JSF是表示层,主要用来写显示逻辑,所

564

JAVA项目开发笔记(4)JSF和Facelets部分:使用技巧

 jsf和Facelets我在以前的文章中已经介绍过了这里就不多说了,只接来干的,介绍项目中遇到的问题的解决方法和使用技巧,不定时更新。 转载请注明出处(Cooper的专栏    http://blog.youkuaiyun.com/cooper_lyt)使用h:dataTable中每行的链接进行页面跳转和跳转页间的参数传递 由于jsf的dataTable的数据行是根据BackBean提供

731

JAVA项目开发笔记(5)框架的融合部分:facelets、xhtml 、jsf中使用jstl标签的问题

 我以前的文章提到过可以在jsf中混用jstl标签,如果你不使用facelets的话没什么问题,但是如果你使用了的话也可能遇到我说的这个问题就是。jstl的标签如 c:forEach   没有被正确的解析直接打到了页面中,这个问题是由于引用的taglib不对引起的,在facelets的xmth中引用jstl的url居然和jsp中引用不同,而myeclipse自动加入的是jsp的jstl引用uri=

926

java web 开发 之 jsf2 入门系列之1

从98年就开始关注java,由于当时桌面开发大行其道,所以一直将JAVA作为二线语言对待,2006年Web开发成为一种主流趋势后,我开始再一次关注java。2009年我做了一次简单的尝试,利用 spring+hiberate 开发了一个完整的web框架,颇有感受,今天看到了jsf作为显示层应用已经升级到了2.0,所以禁不住想 利用jsf+spring+hiberate 开发一个完整的web应用,我

hardman007的专栏 424

初学JSF2,文件上传功能备忘

刚从struts2转过来学习jsf,因为JSF2刚现世不久,各种资料极度缺乏,甚至mojarra的mulityfileupload,myfaces的tomahawk2都没有完成。不得已,自己摸黑探索。今天总算是有点进展,能用JSF2实现文件上传。 [code="java"][/code] 添加filter,借助commons-fileupload将二进制流解码成对象,包装到HttpServle...

zhigewuwang的专栏 200

JSF框架opermasks中时间组件兼容ie9的笔记心得

JSF框架opermasks中时间组件兼容ie9的笔记心得 转载请注明出处 去年年初项目刚刚开始的时候,ie9还没有出现,所以一切似乎很和谐的。但是自从ie9出现以后,各种不兼容的问题来了。 时间组件在ie9上面显示一半,树结构的节点点不开。各种问题铺面而来。 虽然说点击ie9的兼容模式可以实现组件的兼容。但是目前来看许多用户还是计算机文盲,或者半文盲状态,所以他们只有很少一部分人

devilzy2656的专栏 800

JSF 组件开发

组件模型的关键考验就是:能否从第三方供应商购买组件,并把它们插入应用程序?与可购买可视 Swing 组件一样,也可以购买 Java ServerFaces (JSF) 组件!需要一个好玩的日历?可以在开源实现和商业组件之间选择。可以选择购买一个,而不是自行开发复杂的基于 Web 的 GUI 组件。JSF 拥有一个与 AWT 的 GUI 组件模型类似的组件模型。可以用 JSF 创建可重用组件。但不幸

键者天行 6922

JSF组件开发指南

<!--google_ad_client = "pub-1926348199765453";/* 728x90, 创建于 08-12-3 */google_ad_slot = "0385006797";google_ad_width = 728;google_ad_height = 90;//--><script type="text/javascript"sr

Sonic 的技术博客 2329
上一篇: typedef的四个用途和两个陷阱
下一篇: js技巧收集
yipulong
博客等级 码龄25年 29粉丝 5原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值