`
fengchong719
  • 浏览: 82854 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JSF datatable 中 使用 commandlink 和 commandbutton 问题

    博客分类:
  • JSF
阅读更多
我在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>
分享到:
评论

相关推荐

    jsf2.0 dataTable单行修改例子

    在JSF(JavaServer Faces)2.0中,`dataTable`是一个非常重要的组件,用于展示动态数据表。这个例子展示了如何实现一个具有单行...在JSF 2.0中,这些组件和功能的使用更加灵活和强大,使得开发Web应用变得更加容易。

    ajax4jsf 刷新datatable 例子

    通过学习和实践这个“ajax4jsf 刷新datatable 例子”,开发者可以深入理解如何结合使用Ajax4jsf和JSF的datatable组件来创建交互性强且响应迅速的Web应用程序。在myweb项目中,你可以找到具体实现这些功能的代码和...

    JSF DEMO

    **JSF(JavaServer Faces)** 是一个Java平台上的用户界面框架,专为构建Web应用...通过分析`JSFLoginDemo`,你可以了解到如何使用JSF创建一个完整的Web应用程序,包括用户界面的构建、数据处理、验证逻辑和页面导航。

    jsf分页 jsf分页 jsf分页

    在JSF中,我们通常使用`h:commandLink`或`p:commandButton`来创建分页链接或按钮。例如,我们可以创建“上一页”、“下一页”以及页码链接。这些组件会触发一个后台动作事件,以便更新当前显示的数据页。 2. **...

    jsf常用控件的使用

    本文将深入探讨JSF中的一些常见控件及其使用方法,旨在帮助开发者更好地理解和应用这些控件。 1. **输入控件**: - `h:inputText`:用于创建简单的文本输入字段,可以与Bean中的属性绑定,处理用户输入的数据。 -...

    JSF+hibernate实现批量删除

    本篇文章将详细探讨如何利用JSF与Hibernate相结合来实现批量删除功能,以及在CRUD(创建、读取、更新和删除)操作中的应用。 首先,我们需要理解JSF的工作原理。JSF是一个基于组件的MVC(Model-View-Controller)...

    jsf自带分页

    JSF 提供了多种方式来创建分页UI,例如使用h:commandLink或p:commandButton来表示翻页操作,使用h:outputText或p:outputLabel显示当前页码和总页数。你可以在自定义组件或者现有的JSF库(如PrimeFaces)中找到专门...

    JSF数据表绑定数据

    在JavaServer Faces (JSF)框架中,数据表(DataTable)是展示和操作数据库或集合数据的核心组件。本文将深入探讨如何在JSF中实现数据表的动态绑定,以及完成CRUD(创建、读取、更新和删除)操作。 1. **JSF框架概述...

    CDI , JSF2.0 项目兼容性问题总结

    在开发Java EE应用程序时,尤其是使用CDI(Contexts and Dependency Injection)和JSF(JavaServer Faces)2.0版本的项目,可能会遇到各种兼容性问题。本文将针对在WebSphere 8.5环境下遇到的一些典型问题进行总结,...

    Netbeans 开发 JSF 2.0 入门学习,使用Primefaces 及JPA

    在本文中,我们将深入探讨如何使用Netbeans IDE进行JSF 2.0的开发,并结合Primefaces和JPA来创建高效、用户友好的Web应用程序。JSF(JavaServer Faces)是一种用于构建Java Web应用程序的MVC(模型-视图-控制器)...

    JSF标签库快速参考

    JSF HTML标签库中的`commandButton`、`commandLink`和`dataTable`是构建动态Web应用的关键组件。它们不仅提供了基本的HTML元素,还引入了强大的服务器端交互能力。通过对这些组件的深入理解,开发者可以更加高效地...

    经典JSF网店模板开发学习

    JSF的`h:commandButton`和`h:commandLink`可以触发动作,配合`ActionListener`或`Action`接口的方法,实现用户点击按钮后的业务逻辑。同时,可以使用EL(Expression Language)表达式来访问bean的属性,进行条件判断...

    JSF分页代码和学习文件1

    在这些文件中,开发者可能会使用`&lt;h:commandLink&gt;`或`&lt;p:commandButton&gt;`等元素来触发分页操作,以及`&lt;h:dataTable&gt;`来展示分页数据。 3. **jsf-popup_beta**:这个名字暗示了可能包含一些与弹出窗口(popup)相关...

    JSF实现的CRUD例子 myeclipse

    在这个"JSF实现的CRUD例子 myeclipse"中,我们将探讨如何使用JSF和MyEclipse开发一个简单的CRUD(Create, Read, Update, Delete)应用,而无需连接到数据库。 首先,"first-java-server-faces-tutorial-en.pdf"可能...

    jsf分页——详细源码 测试通过

    这些可以通过JSF的UI组件如`h:commandLink`或`p:commandButton`来实现,结合适当的样式和布局设计,以提供良好的用户体验。 2. **后端处理**:在服务器端,我们需要根据用户的请求(例如,点击“下一页”按钮)来...

    JSF 学习资料大全

    JSF的组件、EL(Expression Language)和 Managed Beans 分别对应于MVC模式中的视图、表达式和模型。 **六、JSF库和扩展** JSF有许多第三方库来增强其功能,如PrimeFaces、RichFaces和IceFaces等。这些库提供了更多...

    《JSF入门》培训教程PPT

    JavaScript Server Faces(JSF)是Java平台上的一种用于构建Web应用程序的MVC(Model-View-Controller)框架。...在学习过程中,结合《JSF标签》和《JSF入门》的培训教程,能够更好地掌握JSF的精髓。

    JSF 标签,前后台交换代码

    **JSF(JavaServer Faces)** 是一个Java平台上的Web应用程序框架,用于构建用户界面,尤其是在前后端数据交互方面有着强大的功能...记得在实际操作中,要确保所有组件都正确配置,并遵循JSF生命周期来调试和解决问题。

    jsf入门(pdf格式)

    4. **EL和JSF表达式**:学习如何使用EL表达式来绑定组件属性和bean的属性,以及如何执行简单的计算和方法调用。 5. **导航和转换**:掌握如何在不同页面间进行导航,以及如何进行数据转换和验证。 6. **应用部署**:...

    JSF2开发代码示例

    在这个"JSF2开发代码示例"中,我们将深入探讨JSF2.2的核心特性,特别是与AJAX和PrimeFaces组件库相关的部分。 1. **JSF2.2的关键特性** - **FacesFlow**:JSF2.2引入了FacesFlow,这是一个新的导航模型,可以更好...

Global site tag (gtag.js) - Google Analytics