在JSF MVC框架中谁是Model,View和Controller?
定义View Params之间有什么区别:
<f:metadata>
<f:viewParam name="id" value="#{someBean.id}"/>
</f:metadata>
Run Code Online (Sandbox Code Playgroud)
并在ManagedBean中定义属性,如下所示:
@ManagedProperty(value = "#{param.id}")
private Integer id;
Run Code Online (Sandbox Code Playgroud) 什么时候应该使用f:viewActionor preRenderView事件来初始化页面的数据而不是使用@PostConstruct注释?基于支持bean的范围类型使用一个或另一个的基本原理例如,如果支持bean是@RequestScoped,那么在呈现视图之前选择使用f:viewAction或preRenderView覆盖@PostConstruct初始化支持bean是不相关的,因为两者会结果是一样的吗?
f:viewAction或preRenderView
<f:metadata>
<f:viewAction action="#{myBean.initialize}" />
</f:metadata>
Run Code Online (Sandbox Code Playgroud)
<f:metadata>
<f:event type="preRenderView" listener="#{myBean.initialize}"/>
</f:metadata>
Run Code Online (Sandbox Code Playgroud)
要么
@PostConstruct
public class MyBean
{
@PostConstruct
public void initialize()
{
}
}
Run Code Online (Sandbox Code Playgroud) 我现在正在开始一个新项目.我必须选择技术.我需要一些简单的东西,所以没有EJB或Seam.另一方面,我需要JPA(Hibernate或替代)和JSF与IceFaces.
您是否认为在Tomcat上部署的Spring 3上的这样一个堆栈是一个不错的选择?或者Java EE 6 Web应用程序可能更好?我担心Java EE 6是一项新技术,尚未有详细记载.Tomcat似乎比Glassfish 3更容易维护.
你怎么看?你有经验吗?
在JSF 2对注释的大力支持之后,我想知道我将使用它faces-config.xml.它现在的重要性是什么?
换句话说,只能faces-config.xml通过注释而不是通过注释完成哪些配置?
现在我用它的所有东西都是声明Spring的EL解析器.
<?xml version="1.0" encoding="UTF-8"?>
<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
version="2.0">
<application>
<el-resolver>
org.springframework.web.jsf.el.SpringBeanFacesELResolver
</el-resolver>
</application>
</faces-config>
Run Code Online (Sandbox Code Playgroud) 有没有办法从JSF支持bean动作方法提供文件下载?我尝试过很多东西.主要问题是我无法弄清楚如何获取OutputStream响应以便将文件内容写入.我知道如何使用a Servlet,但这不能从JSF表单调用,需要新的请求.
如何OutputStream从当前获得响应FacesContext?
以下两段代码之间有什么区别 - 关于listener放置?
<h:selectOneMenu ...>
<f:selectItems ... />
<f:ajax listener="#{bean.listener}" />
</h:selectOneMenu>
Run Code Online (Sandbox Code Playgroud)
和
<h:selectOneMenu ... valueChangeListener="#{bean.listener}">
<f:selectItems ... />
</h:selectOneMenu>
Run Code Online (Sandbox Code Playgroud) 何时以及如何使用<resource-bundle>和<message-bundle>标记本地化faces-config.xml?这两者之间的差异对我来说不是很清楚.
我想在我的JSF页面中使用非中断空格.我知道,在纯HTML中,我可以使用 这个,这很好.但是,当我将它们 放在Facelets页面中时,它会出现如下错误:
错误解析/page.xhtml:错误跟踪[第42行]引用了实体"nbsp",但未声明.
这是怎么造成的,我该如何解决?
在JSF中,可以使用EL空运算符渲染或不渲染组件
rendered="#{not empty myBean.myList}"
Run Code Online (Sandbox Code Playgroud)
正如我所理解的那样,运算符既可以作为空值检查,也可以检查列表是否为空.
我想对我自己的自定义类的某些对象进行空检查,我需要实现哪些接口或部分接口?哪个接口是空的运算符兼容?
jsf ×10
jsf-2 ×6
java ×2
ajax ×1
download ×1
el ×1
facelets ×1
faces-config ×1
java-ee ×1
java-ee-6 ×1
listener ×1
localization ×1
managed-bean ×1
spring ×1
viewaction ×1
viewparams ×1