我正在使用eclipse 3.6.2(Helios),Tomcat 7,MyFaces 1.2.9
当我将f:param用于h:commandLink时我没有问题但是当我把f:param放入h:commandButton时它不起作用.有什么问题 ?
这个样本工作正常:
<h:commandLink value="Click here" action="#{myBean.action}">
<f:param name="parameterName1" value="parameterValue1" />
<f:param name="parameterName2" value="parameterValue2" />
</h:commandLink>
Run Code Online (Sandbox Code Playgroud)
但事实并非如此
<h:commandButton value="Click here" action="#{myBean.action}">
<f:param name="parameterName1" value="parameterValue1" />
<f:param name="parameterName2" value="parameterValue2" />
</h:commandButton>
Run Code Online (Sandbox Code Playgroud) 我有一个selectonlistbox,我想每次选择/更改选择框选项时重新加载panelgrid.我试着只使用jsf 1.2.
我知道可以使用a4j或者face 2轻松完成,但是如果有人知道在jsf 1.2中实现这一点的任何好方法,我会非常感激.
一个简单的例子也会有很大帮助.
谢谢
我试图从这个问题中理解在JSF动作中返回null和""之间的区别,但是无法实际体验.
以下是OP的报价
据我所知,当JSF操作返回""(空字符串)时,用户会保留在当前页面上,但视图会刷新.但是,当操作返回null时,用户仍然停留在当前页面上,但旧视图将被重用
我在理解返回的区别混淆"",null并"viewid?faces-redirect=true"从JSF支持bean.我试图通过一个小例子来理解差异,但我无法体验到实际的差异.以下是我的示例的代码片段.
web.xml中
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<display-name>Jsf Questions</display-name>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.jspx</param-value>
</context-param>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/jsfintroapp/*</url-pattern>
</servlet-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)
faces-config.xml中
<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xi="http://www.w3.org/2001/XInclude"
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_1_2.xsd">
<managed-bean>
<managed-bean-name>userLogin</managed-bean-name>
<managed-bean-class>com.srk.beans.UserLogin</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<navigation-rule>
<description>Contains list of all navigation rules here</description>
<from-view-id>/*</from-view-id>
<navigation-case>
<display-name>WELCOME</display-name>
<from-outcome>welcome</from-outcome>
<to-view-id>/geek_examples/authorized_user.jspx</to-view-id>
</navigation-case>
</faces-config>
Run Code Online (Sandbox Code Playgroud)
我的托管bean是一个请求范围的bean,如上所述.
UserLogin.java(Backing bean)代码片段
public String saveData() {
//String returnString …Run Code Online (Sandbox Code Playgroud) 我有一个在.tld文件中注册的自定义JSF组件.当我声明如下时,它在JSP中工作正常:
<%@taglib uri="http://example.com/ui" prefix="ex"%>
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试声明如下时,它在Facelets中不起作用:
<html xmlns:ex="http://example.com/ui">
Run Code Online (Sandbox Code Playgroud)
如何在Facelets中使用我的自定义JSF组件?