Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp 提交后在JSF中检查回发_Jsp_Jsf - Fatal编程技术网

Jsp 提交后在JSF中检查回发

Jsp 提交后在JSF中检查回发,jsp,jsf,Jsp,Jsf,我正在用JSF创建应用程序。我希望当我点击提交按钮时,它应该调用相同的页面,但是显示编辑按钮而不是提交按钮。我该怎么做呢?让操作方法在@ViewScopedbean中设置一个布尔属性,以切换按钮并返回null或void以返回同一视图。让视图根据布尔值有条件地呈现“提交”和“编辑”按钮 基本上 private boolean editmode; public void submit() { editmode = true; } public boolean isEditmode() {

我正在用JSF创建应用程序。我希望当我点击提交按钮时,它应该调用相同的页面,但是显示编辑按钮而不是提交按钮。我该怎么做呢?

让操作方法在
@ViewScoped
bean中设置一个布尔属性,以切换按钮并返回
null
void
以返回同一视图。让视图根据布尔值有条件地呈现“提交”和“编辑”按钮

基本上

private boolean editmode;

public void submit() {
    editmode = true;
}

public boolean isEditmode() {
    return editmode;
}




与具体问题无关,但这是一个非常奇怪的要求。问题中的“提交按钮”不应该是“编辑按钮”吗?问题中的“编辑按钮”不应该是“保存按钮”吗?那会更有意义。

只是想知道,你真的在使用JSP而不是Facelets吗?在我的应用程序中,我在会话范围中实现了与你的答案相同的功能。会话作用域是否正确而不是ViewScope?@vels:会话作用域不是保存视图作用域数据的正确作用域。如果将视图范围的数据放入会话范围,并且最终用户在同一会话中多次打开同一视图(在多个浏览器窗口/选项卡中),则会相互干扰!另请参阅,非常感谢您的回答。
<h:commandButton value="Submit" action="#{bean.submit}" rendered="#{not bean.editmode}" />
<h:commandButton value="Edit" action="#{bean.edit}" rendered="#{bean.editmode}" />