我在JSF开发中遇到了一个问题。首先我的环境如下:
jsf 1.2 , myeclipce 8.5 , tomcat 6
代码如下,在datatable 外面的 commandlink 可以使用,而使用datatable 里的 commandlink 则是跳回本页,有没有大虾知道是怎么回事?
jsf coding:
<body>
<f:view>
<h:form id="actionForm">
<h:panelGrid styleClass="titleBackground" id="listTitle" columns="1">
<h:outputText styleClass="PrimarySubheader" id="label_GeneralProfile" value="用户搜索"></h:outputText>
</h:panelGrid>
<h:panelGrid columns="5">
<h:outputLabel value="用户名称" styleClass="outputLabel"></h:outputLabel>
<h:inputText value="#{pc_UserView.user.userName}"></h:inputText>
<h:outputText styleClass="outputLabel" value="" style="margin-left: 20px"></h:outputText>
<h:outputLabel value="用户状态" styleClass="outputLabel"></h:outputLabel>
<h:selectOneMenu value="#{pc_UserView.user.state}">
<f:selectItem itemLabel="" itemValue=""/>
<f:selectItem itemLabel="正常" itemValue="1"/>
<f:selectItem itemLabel="非正常" itemValue="2"/>
</h:selectOneMenu>
<h:outputLabel value="用户帐号" styleClass="outputLabel"></h:outputLabel>
<h:inputText value="#{pc_UserView.user.loginId}"></h:inputText>
<h:outputText styleClass="outputLabel" value="" style="margin-left: 20px"></h:outputText>
<h:commandButton id="display" value="Display." type="submit" action="#{pc_UserView.getUserList}"></h:commandButton>
</h:panelGrid>
<h:dataTable id="userTable" value="#{pc_UserView.allUsers}" var="userObj"
styleClass="dataTable" headerClass="headerClass" footerClass="footerClass"
rowClasses="rowClass1, rowClass2" border="1" cellpadding="2" cellspacing="0"
style="text-align: left" width="100%" >
<h:column id="userId">
<f:facet name="header">
<h:outputText styleClass="SecondarySubheader" value="用户标识"></h:outputText>
</f:facet>
<h:outputText value="#{userObj.userId}"></h:outputText>
<f:attribute value="180" name="width" />
</h:column>
<h:column id="userName">
<f:facet name="header">
<h:outputText styleClass="SecondarySubheader" value="用户名称"></h:outputText>
</f:facet>
<h:outputText value="#{userObj.userName}"></h:outputText>
</h:column>
<h:column id="loginId">
<f:facet name="header">
<h:outputText styleClass="SecondarySubheader" value="登录账号"></h:outputText>
</f:facet>
<h:outputText value="#{userObj.loginId}"></h:outputText>
</h:column>
<h:column id="state">
<f:facet name="header">
<h:outputText styleClass="SecondarySubheader" value="用户状态"></h:outputText>
</f:facet>
<h:outputText value="#{userObj.state == 1 ? '正常' : '非正常'}"></h:outputText>
</h:column>
<h:column id="lastUpdateDate">
<f:facet name="header">
<h:outputText styleClass="SecondarySubheader" value="最后更新时间"></h:outputText>
</f:facet>
<h:outputText value="#{userObj.lastUpdateDate}"></h:outputText>
</h:column>
<h:column id="options">
<f:facet name="header">
<h:outputText styleClass="SecondarySubheader" value="操作"></h:outputText>
</f:facet>
<h:commandLink value="Edit" action="#{pc_UserEdit.toEdit}" immediate="true" >
<f:param name="userId" value="#{userObj.userId}"></f:param>
</h:commandLink>
</h:column>
</h:dataTable>
<h:commandLink value="Edit" action="#{pc_UserEdit.toEdit}" immediate="true" >
<f:param name="userId" value="#{userObj.userId}"></f:param>
</h:commandLink>
</h:form>
</f:view>
</body>
navigation rule coding :
<?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 Beans -->
<managed-bean>
<managed-bean-name>pc_UserView</managed-bean-name>
<managed-bean-class>com.ideal.user.managed.UserView</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>user</property-name>
<property-class>com.ideal.user.vo.UserBean</property-class>
<value>#{user}</value>
</managed-property>
</managed-bean>
<managed-bean>
<managed-bean-name>pc_UserEdit</managed-bean-name>
<managed-bean-class>com.ideal.user.managed.UserEdit</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>user</property-name>
<property-class>com.ideal.user.vo.UserBean</property-class>
<value>#{user}</value>
</managed-property>
</managed-bean>
<managed-bean>
<managed-bean-name>pc_UserRegister</managed-bean-name>
<managed-bean-class>com.ideal.user.managed.UserRegister</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>pc_Index</managed-bean-name>
<managed-bean-class>com.ideal.user.managed.Index</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<!-- View Object Beans -->
<managed-bean>
<managed-bean-name>user</managed-bean-name>
<managed-bean-class>com.ideal.user.vo.UserBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<!-- 全局
<navigation-rule>
<navigation-case>
<from-outcome>edit</from-outcome>
<to-view-id>/userEdit.jsp</to-view-id>
</navigation-case>
</navigation-rule>-->
<!-- 局部 -->
<navigation-rule>
<from-view-id>/userView.jsp</from-view-id>
<navigation-case>
<from-action>#{pc_UserView.toRegister}</from-action>
<from-outcome>register</from-outcome>
<to-view-id>/userRegister.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>edit</from-outcome>
<to-view-id>/userEdit.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/userEdit.jsp</from-view-id>
<navigation-case>
<from-action>#{pc_userEdit.submitAction}</from-action>
<from-outcome>success</from-outcome>
<to-view-id>/userView.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-action>#{pc_userEdit.submitAction}</from-action>
<from-outcome>exception</from-outcome>
<to-view-id>/userEdit.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/userRegister.jsp</from-view-id>
</navigation-rule>
<navigation-rule>
<from-view-id>/index.jsp</from-view-id>
<navigation-case>
<from-action>#{pc_Index.toUserView}</from-action>
<from-outcome>userView</from-outcome>
<to-view-id>/userView.jsp</to-view-id>
</navigation-case>
</navigation-rule>
</faces-config>
分享到:
相关推荐
在JSF(JavaServer Faces)2.0中,`dataTable`是一个非常重要的组件,用于展示动态数据表。这个例子展示了如何实现一个具有单行...在JSF 2.0中,这些组件和功能的使用更加灵活和强大,使得开发Web应用变得更加容易。
通过学习和实践这个“ajax4jsf 刷新datatable 例子”,开发者可以深入理解如何结合使用Ajax4jsf和JSF的datatable组件来创建交互性强且响应迅速的Web应用程序。在myweb项目中,你可以找到具体实现这些功能的代码和...
**JSF(JavaServer Faces)** 是一个Java平台上的用户界面框架,专为构建Web应用...通过分析`JSFLoginDemo`,你可以了解到如何使用JSF创建一个完整的Web应用程序,包括用户界面的构建、数据处理、验证逻辑和页面导航。
在JSF中,我们通常使用`h:commandLink`或`p:commandButton`来创建分页链接或按钮。例如,我们可以创建“上一页”、“下一页”以及页码链接。这些组件会触发一个后台动作事件,以便更新当前显示的数据页。 2. **...
本文将深入探讨JSF中的一些常见控件及其使用方法,旨在帮助开发者更好地理解和应用这些控件。 1. **输入控件**: - `h:inputText`:用于创建简单的文本输入字段,可以与Bean中的属性绑定,处理用户输入的数据。 -...
本篇文章将详细探讨如何利用JSF与Hibernate相结合来实现批量删除功能,以及在CRUD(创建、读取、更新和删除)操作中的应用。 首先,我们需要理解JSF的工作原理。JSF是一个基于组件的MVC(Model-View-Controller)...
JSF 提供了多种方式来创建分页UI,例如使用h:commandLink或p:commandButton来表示翻页操作,使用h:outputText或p:outputLabel显示当前页码和总页数。你可以在自定义组件或者现有的JSF库(如PrimeFaces)中找到专门...
在JavaServer Faces (JSF)框架中,数据表(DataTable)是展示和操作数据库或集合数据的核心组件。本文将深入探讨如何在JSF中实现数据表的动态绑定,以及完成CRUD(创建、读取、更新和删除)操作。 1. **JSF框架概述...
在开发Java EE应用程序时,尤其是使用CDI(Contexts and Dependency Injection)和JSF(JavaServer Faces)2.0版本的项目,可能会遇到各种兼容性问题。本文将针对在WebSphere 8.5环境下遇到的一些典型问题进行总结,...
在本文中,我们将深入探讨如何使用Netbeans IDE进行JSF 2.0的开发,并结合Primefaces和JPA来创建高效、用户友好的Web应用程序。JSF(JavaServer Faces)是一种用于构建Java Web应用程序的MVC(模型-视图-控制器)...
JSF HTML标签库中的`commandButton`、`commandLink`和`dataTable`是构建动态Web应用的关键组件。它们不仅提供了基本的HTML元素,还引入了强大的服务器端交互能力。通过对这些组件的深入理解,开发者可以更加高效地...
JSF的`h:commandButton`和`h:commandLink`可以触发动作,配合`ActionListener`或`Action`接口的方法,实现用户点击按钮后的业务逻辑。同时,可以使用EL(Expression Language)表达式来访问bean的属性,进行条件判断...
在这些文件中,开发者可能会使用`<h:commandLink>`或`<p:commandButton>`等元素来触发分页操作,以及`<h:dataTable>`来展示分页数据。 3. **jsf-popup_beta**:这个名字暗示了可能包含一些与弹出窗口(popup)相关...
在这个"JSF实现的CRUD例子 myeclipse"中,我们将探讨如何使用JSF和MyEclipse开发一个简单的CRUD(Create, Read, Update, Delete)应用,而无需连接到数据库。 首先,"first-java-server-faces-tutorial-en.pdf"可能...
这些可以通过JSF的UI组件如`h:commandLink`或`p:commandButton`来实现,结合适当的样式和布局设计,以提供良好的用户体验。 2. **后端处理**:在服务器端,我们需要根据用户的请求(例如,点击“下一页”按钮)来...
JSF的组件、EL(Expression Language)和 Managed Beans 分别对应于MVC模式中的视图、表达式和模型。 **六、JSF库和扩展** JSF有许多第三方库来增强其功能,如PrimeFaces、RichFaces和IceFaces等。这些库提供了更多...
JavaScript Server Faces(JSF)是Java平台上的一种用于构建Web应用程序的MVC(Model-View-Controller)框架。...在学习过程中,结合《JSF标签》和《JSF入门》的培训教程,能够更好地掌握JSF的精髓。
**JSF(JavaServer Faces)** 是一个Java平台上的Web应用程序框架,用于构建用户界面,尤其是在前后端数据交互方面有着强大的功能...记得在实际操作中,要确保所有组件都正确配置,并遵循JSF生命周期来调试和解决问题。
4. **EL和JSF表达式**:学习如何使用EL表达式来绑定组件属性和bean的属性,以及如何执行简单的计算和方法调用。 5. **导航和转换**:掌握如何在不同页面间进行导航,以及如何进行数据转换和验证。 6. **应用部署**:...
在这个"JSF2开发代码示例"中,我们将深入探讨JSF2.2的核心特性,特别是与AJAX和PrimeFaces组件库相关的部分。 1. **JSF2.2的关键特性** - **FacesFlow**:JSF2.2引入了FacesFlow,这是一个新的导航模型,可以更好...