大家好,本人初学JSF。最近在做一个项目的时候(很小的新闻发布系统,只是为了学习),遇到了点问题。希望大家不吝赐教。
有一个A页面(导航用的,datatable做的),B页面包含A,并且有自己的内容(该内容依赖于点击A页面条目所产生的参数)。
我不知道jsf应该怎么样做,我的想法是这样的。用h:outputLink+(2个)f:param做。而f:param的value是值绑定的。
代码如下
<h:outputLink value="#{facesContext.externalContext.requestContextPath}/web/newslist.faces">
<h:outputText value="#{smallclassList.smallclassname}"/>
<f:param name="bigclassid" value="#{smallclassList.bigclassid}"></f:param>
<f:param name="smallclassid" value="#{smallclassList.smallclassid}"></f:param>
</h:outputLink>
这样我想就可以根据不同的内容设置不同的id了
然后在managedbean中用#{param.smallclassid}获取参数
结果发现f:param不能传递正确的值(他总是传递第一次请求该页面的值)。
我自己觉得可能是这样的原因:f:param中的value设定早于smallclassList的更新(可能是这样)
网上搜了一下
觉得可能的结果是这样:
引用
利用ManageredBean的ManagerdProperty的值注入。包括注入Request参数 如#{parap.name}.在get或Set某一属性时,依据传递的参数来初始化数据。
(在set某个属性时初始化,容易产生有些属性还没有被注入初始化,而在get某个属性时初始化数据,又有可能该属性未被调用,则无法完成初始化工作了。)
另外我也看了tbuy论坛的实现,发现它好像是通过解析URL实现的,不过我感觉有2个参数的话会比较麻烦(它的好像只有1个参数)
不知道我是不是表示清楚了,呵呵。我想请问大家如何解决这样的问题。
也可以说:如何在页面间传递参数?
最重要的一点是:
我想用户再次访问时可以通过直接使用URL的方式访问
另外本人使用的是JSF RI 1.2 + tomahawk
感谢大家关注我的问题,希望尽快得到大家的回复
谢谢了!
分享到:
- 2008-03-16 11:49
- 浏览 1467
- 评论(1)
- 论坛回复 / 浏览 (1 / 3135)
- 查看更多
相关推荐
6. **导航案例**:JSF的导航系统允许你根据特定条件或动作结果来决定跳转到哪个页面,这过程中也可以传递参数。 **JSF中文教程** 提供了丰富的实例和详细解释,帮助初学者快速上手。通过学习这个教程,你将能够熟练...
使用`f:param`标签传递参数是JSF中常见的做法,尤其适用于页面间的导航和数据传递。这种方法简单易懂,同时也支持动态参数值,即通过EL表达式(Expression Language)来获取参数值。例如,`value="#{someBean.some...
在 Managed Bean 中定义一个属性,然后在JSF页面上使用EL表达式绑定`requestScope`中的参数到该属性。例如,在`faces-config.xml`配置文件中: ```xml <managed-bean-name>bean ... <property-name>myParam...
6. **部署配置**:可能包含一个web.xml文件,定义了JSF的初始化参数和Servlet配置。 7. **数据库设计**:在DB2中,会有相应的表结构,比如一个名为Users的表,用于存储用户信息,与项目中的实体类相对应。 这个...
- **Backing Bean**:在后台Bean(如`ABean`)中定义一个方法调用`downloadFile`,然后在JSF界面使用`<h:commandButton>`或`<h:commandLink>`组件触发该方法。例如,`...
- **JSF页面(.xhtml)**:Facelets文件,定义了UI组件和它们的行为。 - **Managed Beans类**:Java源代码,实现了业务逻辑和数据模型。 - **资源文件**:如CSS和JavaScript,用于页面样式和交互。 通过研究这个...
当用户与JSF页面交互时,请求会路由到FacesServlet,它负责解析请求参数,调用相应的后台bean方法,并更新视图。 3. **Managed Beans** Managed Beans 是JSF中用于存储和管理业务逻辑的对象。在JSF2中,可以通过...
MyFaces 提供了一个有用的组件 `<t:updateListener>`,可用于跨页面传递参数。在实际应用中,建议传递模型对象而不是简单的数值类型。这是因为 JSF 设计初衷即是面向对象的页面开发,传递模型对象能够更好地遵循这一...
**Ajax请求的发送**:在JSF页面中,你可以使用Ajax4JSF提供的组件,如`a4j:support`或`a4j:commandButton`,来触发Ajax请求。这些组件可以绑定到特定的事件,当事件发生时,会向服务器发送异步请求。 **决定发送...
它更多地是关于如何设置一个基本的JSF环境,理解JSF组件和生命周期,以及如何在页面间传递数据。 总的来说,JSF提供了一种结构化的、声明式的Web开发方式,适合于快速构建企业级应用。这个简单的示例是一个很好的...
通过创建一个包含JSF页面、配置文件和Java源代码的Web应用结构,然后打包成WAR文件,最后将此WAR部署到Tomcat的`webapps`目录下,即可通过浏览器访问应用。 此外,JSF还支持EL(Expression Language)用于在页面中...
- **视图状态管理**:JSF 1.2改进了视图状态管理,使得在页面间传递数据更加高效,源代码中可以理解其内部存储和恢复机制。 - **生命周期阶段**:JSF组件经历了初始化、应用请求值、处理验证、更新模型值、调用...
**jsf传参.docx** 详细介绍了如何在JSF中传递参数,这可能涉及到请求参数、会话参数、属性绑定等,是理解和实现JSF应用间通信的关键。 **java环境变量配置.txt** 涉及到Java开发的基础,Java环境变量如JAVA_HOME、...
1. **JSF页面(.xhtml)**:包含文件上传和下载的用户界面元素,如`<h:inputFile>`、提交按钮、下载链接等。 2. **后台Bean**:如`FileUploadBean`和`FileDownloadBean`,处理文件上传和下载的业务逻辑,可能包括...
JSF组件有一个从初始化到销毁的生命周期,包括6个主要阶段: 1. **Restore View**:恢复请求对应的视图。 2. **Apply Request Values**:将请求参数赋值给组件。 3. **Process Validations**:执行验证逻辑。 4. **...
JSF (JavaServer Faces) 是Java平台上的一个用于构建Web用户界面的MVC(Model-View-Controller)框架。它为开发人员提供了一种简单而强大的方式来创建动态、数据驱动的Web应用程序。在JSF中,组件(View)、事件处理...
- **a4j:actionparam**:传递参数到Ajax请求。 - **a4j:status**:显示Ajax请求的状态。 - **a4j:loadBundle** 和 **a4j:mediaOutput**:分别处理资源加载和多媒体输出。 ### 4. **Ajax4jsf的换肤功能** Ajax4jsf...
在这个加法示例中,用户输入的数字很可能是通过请求参数传递给后端,然后在处理阶段进行相加,最终将结果显示在页面上。 在Eclipse中使用JSF项目时,你需要配置JSF库、创建动态Web项目,并确保你的`web.xml`文件...
**Ajax4jsf** 是一个开源项目,旨在为JSF提供Ajax支持,即在不重新加载整个页面的情况下更新页面的部分内容。这大大提高了用户界面的响应性和用户体验。 ### Ajax4jsf的核心功能与组件 Ajax4jsf通过一系列组件和...
此外,`include`动作还支持向被包含页面传递参数。 #### 1.2 include实现页面布局 为了实现页面布局的统一,我们可以通过`include`将页眉、页脚和菜单等公共元素分离成独立的页面,然后在主体页面中通过`include`...