我正在提交表单,验证完成后,字段会将数据插入表中。如果插入返回1062(重复键异常),我想提醒用户他们需要修改字段(字面上返回警报(“名称已存在,请输入新的”);)。
我在出错时重定向页面没有问题,但我实际上并不希望页面重新加载/重新绘制,只是为了显示警报。
SQL异常代码
} catch(SQLException e){
String errorCode = Integer.toString(e.getErrorCode());
throw new FacesException(errorCode, e);
}
在调用方法中,我将actionstatus返回为此特定场景的“重复”,我将其发送到xhtml页面,其中只包含带警报的脚本,但因为这是在faces-config导航中,它重定向页面而不是返回响应,只是显示警报。
答案 0 :(得分:0)
在调用方法中捕获语句
中加入:
FacesContext facesContext = FacesContext.getCurrentInstance();
FacesMessage facesMessage = new FacesMessage("This promotion name already exists.");
facesContext.addMessage(null, facesMessage);
在原始.xhtml页面中添加:
<p:messages id="messages" autoUpdate="true" />