jsf

yejsj 2006-01-16 04:48:55
我看了jsf生成的html,都 是<td><tr>1</tr></td><td><tr>2</tr></td>...可是我都没有找到他在哪里写了这些<td>和<tr>,我的QQ是393430575
有没有人知道有没有jsf的群
我想问一些关于tag的问题
...全文
122 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yejsj 2006-02-07
  • 打赏
  • 举报
回复
我想获得到HtmlTableRendererBase中得到的数据,那要怎么得到呢
yejsj 2006-02-07
  • 打赏
  • 举报
回复
我自己顶一下
humanity 2006-01-24
  • 打赏
  • 举报
回复
JSF encode HTML 可以在3个地方做:

Tag,

如果 tag.getComponentType() 有值 会用这个值到 faces-config.xml 等配置文件中找对应的 Component , 然后用它的 component.encodeBegin,

再或者 tag.getRenderType() 有值,也到 faces-config.xml 等配置文件中找对应的 renderKit
用它来 encodeBegin ,

用 component 的好处是可以动态计算,因为生命周期开始后就可以用 Component, 但是 Tag 是在 renderResponse 阶段,有些功能不能实现。


用 renderKit 继承了 component 的优点,同时可以挂接,比如 不同的浏览器或是 WAP 等不同客户端 提供不同的 RenderKit.


比如我的 <h:div>
TagClass 中 :
public class DivTag extends ... {
public String getComponentType(){
return "javax.faces.div";
}
}

faces-config.xml:
<component-type>javax.faces.div</xxx>
<component-class>xxx</...>

Component Java :

Div :
public void encodeBegin(FacesContext ctx){
if(isRendered){
ResponseWriter out = ctx.getResponseWriter();

out.startElement("div",this);

out.writeAttribute(xxxx,xxx,xxx );
}
}

public void encodeEnd(FacesContext ctx){
if(isRendered){
ResponseWriter out = ctx.getResponseWriter();
out.endElement("div");
}
}



yejsj 2006-01-24
  • 打赏
  • 举报
回复
我在HtmlTableRendererBase中从encodeBegin看起,看到RendererUtils.renderChild(facesContext, component);这一句


在RendererUtils中,我找到renderChild,它调用了child.encodeBegin(facesContext);
在UIComponentBase中,我又找到encodeBegin方法,它居然又跑到 renderer.encodeBegin(context, this);,这简直是一个循环,这中间是怎么回事?????
yejsj 2006-01-19
  • 打赏
  • 举报
回复
我建了一个jsf的群,群号是20115298
加进来,探讨一下吧
yangq4000 2006-01-18
  • 打赏
  • 举报
回复
<f:ob..>
yejsj 2006-01-18
  • 打赏
  • 举报
回复
我自己顶一下
JSF是一种用于构建Java Web 应用程序的标准框架(是Java Community Process 规定的JSR-127标准)。JSF(Java Server Faces)技术为开发基于网络用户界面的Java开发者提供了标准的编程接口API以及标签库。就像Struts框架一样,JSF定义了一套JSF标签 JSF的全称   1、Joint Strike Fighter (JSF)   2、Java Server Faces (JSF) Java Server Faces (JSF)   JSF是一种用于构建Java Web 应用程序的标准框架(是Java Community Process 规定的JSR-127标准)。它提供了一种以组件为中心的用户界面(UI)构建方法,从而简化了Java服务器端应用程序的开发。由于由Java Community Process (JCP) 推动,属于Java EE 5中的技术规范,而受到了厂商的广泛支持。   JSF(Java Server Faces)技术为开发基于网络用户界面的Java开发者提供了标准的编程接口API以及标签库。就像Struts框架一样,JSF定义了一套JSF标签,能够生成与JavaBean属性绑定在一起的HTML表单元素。从应用开发者的角度看,两种框架十分相似,但是JSF可能会得到更多的支持,因为JSF是Java的标准。在未来的发展中,有可能所有的J2EE应用服务器都需要支持JSF。 Java Server Faces技术好处   引入了基于组件和事件驱动的开发模式,使开发人员可以使用类似于处理传统界面的方式来开发Web应用程序。提供了行为与表达的清晰分离。 不用特别的脚本语言或者标记语言来连接UI组件和Web层。JSF技术API被直接分层在Servlet API的顶端。 技术为管理组件状态提供一个丰富的体系机构、处理组件数据、确认用户输入和操作事件。 Java Server Faces应用程序   典型的JSF应用程序包含下列部分:   一组JSP页面   一组后台bean(为在一个页面上的UI组件定义的属性和函数的JavaBean组件)   应用程序配置资源文件(定义页面导航规则、配置bean和其它的自定义对象,如自定义组件)   部署描述文件( web.xml )   一组由应用程序开发者创建的自定义对象(有可能)   一些可能包含自定义组件、约束、转换器或者监听器的对象   为在页面中表现自定义对象的一组自定义tag   包含JSP页面的JSF应用程序也使用由为了表现UI组件和在页面上的其他对象的JSF技术而定义的标准的tag库。 Java Server Faces技术的重要开发框架 sun-ri、myfaces、icefaces、richfaces、seam

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧