[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端)的话...会死很惨 |