来自:http://chenmingang.diandian.com/post/2013-05-21/40050507529
1.<h:commandButton action="/admin/cardList.xhtml" value="搜索"/> 提交表单并刷新页面,当前action参数会以get方法提交,而如果是“/admin/cardList.seam”则会以post方法提交。
2. 在用 RESTRICTIONS 进行子对象的查询时一定要保证子对象不为空 比如:
"m.alliance.id = #{memberList.member.alliance.id} ",
进行多级查询,要在get方法里处理为空的情况
public Member getMember() {
if(member.getAlliance()==null)
member.setAlliance(new Alliance());
return member;
}
3. 用<h:inputHiden /> 时 除定义name value外还要在page.xml里定义参数param才能传递
4. 往项目里边导包的时候要在deployed-jars-ear.list里面声明,修改过后要用seam clean 命令清除项目缓存然后部署到jboss里
5.不能在构造函数里面使用注入的组件,否则会报空指针异常
6. seam 做本地查询得出对象时要用这种格式,否则会报转换失败异常getEntityManager().createNativeQuery("select * from alliance where is_default=true",Alliance.class)
7.Member member=getEntityManager().find(Member.class, currentUser.getId());可以这样得到对象,另不能直接操作sesson中的对象
8.<restrict>#{s:hasRole('admin')</restrict> 用于权限控制