[Ajax4JSF] 请教学习JSF中的一点疑问

风之狐 2008-05-12
也是刚刚开始学习jsf,还有点不适应这种服务器大包大揽的方式。
有几个问题一直解决不了,网上也没搜出答案,看看那位仁兄能帮帮给解答一下,
1.分页的问题,现在用的是扩展Datamodual的方式,感觉很不舒服,一个bean只能输出一组数据,不过问题不大,基本需要分页的才使用这种方式,只是不知道还有没有其他更好的方式了。
2.就是bean的带参数方法怎么调用,有的人说是加个commandlink传递参数,可是我希望是url上面带着参数的时候能直接赋值到backing bean里面去,典型的例子就是我的其他页面(比如其他系统的)的点一下带参数的链接转到一个页面(JSF系统),要求页面打开就可以直接执行有参数的方法并返回数据,像我在url上面把人名写上,把参数赋给backing bean然后就能返回这个人的所以数据,不知道该怎么处理。
3.就是数据的导出问题,以前没用jsf的时候,直接把数据转发到能产生xml的页面就可以了,客户端就能直接得到xml数据,这样与第三方进行数据传递的时候就能直接用xml进行传输,在jsf不知道能不能实现。

学了半个月了,这些基本的东西还是没能弄出来,看谁能帮帮我。
goodnight 2008-05-13
bean的带参数方法?
backingbean的方法一般都不带参数,除了调用Listener的方法。
传递参数可以使用:
<h:commandLink action="" value="传递参数">
    <f:param name="参数名" value="参数值"/>
</h:commandLink>
之后在backingbean里面通过FacesContext方法取得参数:
FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("参数名")

第3个问题没用过。
kencool 2008-05-13
获取request pararmeter map可以用gravel标签,是JBoss的一个项目
风之狐 2008-05-13
这样获得参数是可以取得的,我的意思的在url上面直接写上参数,然后怎么在页面打开后就直接赋给backing bean的,然后backing才开始检测的操作。我的应用情况是在我系统的左侧是一个js写的tree,点击每个节点后就会在右侧的主页面中打开新页面,比如有些页面是打开后直接显示这个人所在部门的一些信息,现在我就是这个问题我实现不了。像这个问题还好些,我可以从这个人的登陆信息中间接取得这个人的单位信息,其他需要带参数打开的页面就没办法处理,我问的就是这个功能怎么来实现。这个JS树是不可能换的
------------------
哦,我刚又仔细看了看goodnight的回复,通过在request里面直接获得参数,这个办法倒是可以暂时用一下,不过这样做backbean里面的属性就不会自己初始化,每次查询的时候就得先检测request里面有没有参数,如果有的话需要手工去初始化bean的参数,然后才开始查询。这样可以倒是可以,就是如果每个bean里面都要这样搞一遍,那bean自动赋值的用法就几乎没用到,有没有可能在url里面按什么格式写上参数,bean能自己识别并赋值到属性上。
terryzhou 2008-05-13
<managed-bean>
<managed-bean-name></managed-bean-name>
<managed-bean-class></managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>id</property-name>
<value>#{param.id}</value>
</managed-property>
</managed-bean>
terryzhou 2008-05-13
分页应该是DataModel吧..
风之狐 2008-05-13
呵呵,是DataModel的,一时ping错了,用组件配置的方式确实可以取得参数,我刚刚试过了。不知道你用过seam没有,我这个想用seam的注解方式,我这个backbean已经有用名字注解了,在配置managed-bean的话就等于多配置了一个命名。呵呵,至少参数问题是解决了
terryzhou 2008-05-13
没用过seam,有用richfaces,bug好多..
风之狐 2008-05-13
是么,我也是刚刚开始用seam,和richface,你们现在做工程用的jsf多不多,页面用的是richface还是iceface
terryzhou 2008-05-13
个人不喜欢iceface的skin...
so,选择了richfaces...
强烈建议如果不是必需某个component,就用tomahawk就好了.最多再加t的sandbox...bug很少,几乎没碰到非常明显或者致命的
现在的项目用的jsf,走了不少歪路...
jsf用的好还是不错的,能提升不少开发效率...滥用(太依赖server端)的话...会死很惨
Global site tag (gtag.js) - Google Analytics