PrimeFaces命令按钮不工作

PrimeFaces命令按钮不工作,primefaces,commandbutton,Primefaces,Commandbutton,我知道这是一个非常常见的问题,发生的原因有很多,但尽管我已经搜索了很多,我没有找到一个解决我的情况 我的commandButton位于h:表单中,声明如下: 我的UserGroupBean是可视范围的 单击此按钮时,应创建用户组并显示“成功创建”消息。而不是这样做,它只是显示“请等待”加载一秒钟,然后什么也不做。日志中没有错误,通过远程调试,我确认它没有进入操作方法 奇怪的是,当我在本地Tomcat安装中运行相同的代码时,它会成功运行。此外,在部署该应用程序的远程服务器上,该应用程序可以正常

我知道这是一个非常常见的问题,发生的原因有很多,但尽管我已经搜索了很多,我没有找到一个解决我的情况

我的commandButton位于h:表单中,声明如下:


我的UserGroupBean是可视范围的

单击此按钮时,应创建用户组并显示“成功创建”消息。而不是这样做,它只是显示“请等待”加载一秒钟,然后什么也不做。日志中没有错误,通过远程调试,我确认它没有进入操作方法

奇怪的是,当我在本地Tomcat安装中运行相同的代码时,它会成功运行。此外,在部署该应用程序的远程服务器上,该应用程序可以正常工作。所有这些都是突然发生的,在我的应用程序中,我有很多像这样的命令按钮,它们仍然工作得很好。这个页面似乎出了问题

我使用PrimeFaces 3.1版本,我不知道还有哪些信息是有用的。
非常感谢您的帮助/想法

编辑
这是userGroup.xhtml(按钮不起作用的页面)代码:


用户组
#{flash.messages_info}
可获得的
参与

UserGroupBean.java:

@Controller(“userGroupBean”)
@范围(value=“视图”)
公共类UserGroupBean扩展了GenericBean{
私有静态最终长serialVersionUID=1L;
最终日志记录器=LogFactory.getLog(getClass());
@自动连线
私有会话服务MPL会话服务;
@自动连线
受保护的UserGroupService UserGroupService;
@自动连线
受保护的用户服务用户服务;
@凌驾
公共字符串getPageCreateOrUpdate(){return“userGroup.xhtml”;}
@凌驾
公共字符串getPageList(){返回“../../my/userGroups.xhtml”;}
/**调用getItem()的包装器方法*/
公共用户组getUserGroup(){return getItem();}
/**调用setItem()的包装器方法*/
public void setUserGroup(UserGroup UserGroup){setItem(UserGroup);}
受保护的用户组findItemById(整数userGroupId){
返回userGroupService.findUserGroupById(userGroupId);
}
@凌驾
受保护的void resolveCreateRequest(HttpServletRequest请求){
debug(“UserGroupBean::resolveCreateRequest()”;
setItem(userGroupService.initializeUserGroup(“”);
}
@凌驾
受保护的字符串createItem(){
试一试{
if(!isValidUserSelection(新的ArrayList(usersGroupUsersList.getTarget()))
返回null;
List userid=new ArrayList();
for(用户:usersGroupUsersList.getTarget())
添加(user.getId());
userGroupService.saveUserGroup(getUserGroup(),userid);
helperFacesContext.AddInfo消息Flash(“已成功创建用户组”);
返回getPageCreateOrUpdate()+“?action=update&id=“+getItem().getId()+”&faces redirect=true”;
}
捕获(例外e){
error(“有一个错误”,e.getMessage());
返回null;
} 
}
.....
}
最后是UservConverter.java

@facescoverter(value=“userConverter”)
公共类UserConverter扩展了GenericConverter{
最终日志记录器=LogFactory.getLog(getClass());
私有UserDAO getUserDAO(FacesContext FacesContext){
//@Autowired给出空值
return(UserDAO)facescontextils.getWebApplicationContext(facesContext.getBean(“UserDAO”);
}
/**
*将键的字符串表示形式转换回对象
*/
@凌驾
公共对象getAsObject(FacesContext上下文、UIComponent组件、,
字符串值)抛出ConverterException{
info(“UserConverter::getAsObject(“+value+”));
整数userId=Integer.valueOf(value);
试一试{
返回getUserDAO(context).findById(userId);
}捕获(例外e){
抛出新的ConverterException(handleException(context,e.getMessage());
}
}   

新提示:当我重新启动服务器时,只有在这之后,当我访问此页面并在userGroup.xhtml完全加载之前创建一个用户组时,用户组才被创建好。如果我重新启动服务器并等待页面加载,然后再创建一个用户组,则什么也不会发生。这个问题最终会让我发疯

您是否尝试了“进程”属性(例如:process=“@form”),如果不是,你应该分享更多的代码:)我尝试了你说的,但没有起作用。我按照你的要求添加了更多的代码,但我不确定是否是这样。相同的代码是否可能在一台机器上正确运行,而在另一台机器上不正确运行?谢谢你的回复!看看这里:BalusC的回复帮助我解决了很多像你这样的问题!是的,我知道BalusC很棒,他的帖子在很多其他情况下也帮助了我。非常感谢你的帖子。但这可能是代码问题吗?我的意思是为什么它在本地运行良好?好的,我不知道为什么,但我必须删除行才能工作。