[英]'source' statement and 'function' declaration at end of .bashrc interfere with one another
[英]Interfere one function from another function in java
我在jsp中有两个按钮,分别是Start和Stop。
预期:仅应单击一次“开始”按钮,才应开始计数,并且在按下“停止”按钮时应停止计数。
(参考该代码,当按下“ 停止”按钮时,应调用stop_action()函数,将boolean stopOperation设置为true,而**则应在start_action()中停止迭代。)
实际:只要单击“开始”按钮,就会开始新的计数。 即使多次按停止按钮也无法停止计数。
代码如下:
在faces-config.xml中, FunctionExit(类,abcwar.FunctionExit)具有请求范围。
而FunctionExit类是:
package abcwar;
import com.sun.rave.web.ui.appbase.AbstractPageBean;
import javax.faces.FacesException;
public class FunctionExit extends AbstractPageBean {
private boolean stopOperation = false;
private void _init() throws Exception {
}
public FunctionExit() {
}
@Override
public void init() {
try {
_init();
} catch (Exception e) {
log("FunctionExit Initialization Failure", e);
throw e instanceof FacesException ? (FacesException) e : new FacesException(e);
}
@Override
public void preprocess() {
}
@Override
public void prerender() {
}
@Override
public void destroy() {
}
public String stop_action() {
setStopOperation(true);
System.out.println("getStopOperation() :" + getStopOperation());
return "true";
}
public String start_action() {
long steps = 0;
while (!getStopOperation()) {
steps++;
System.out.println("Step Count :" + steps + ", getStopOperation() :" + getStopOperation());
}
return null;
}
public boolean getStopOperation() {
return stopOperation;
}
public void setStopOperation(boolean stopOperation) {
this.stopOperation = stopOperation;
}
}
后
(i)在Session Scoped类SessionBean1中定义函数start_action(),stop_action()和类变量boolean stopOperation
(ii)使“停止按钮”的“禁用”属性=!“开始”按钮的“禁用”属性
已达到预期的行为。
代码如下:
package abcwar;
import com.sun.rave.web.ui.appbase.AbstractSessionBean;
import javax.faces.FacesException;
public class SessionBean1 extends AbstractSessionBean {
private boolean stopOperation = false;
private long steps = 0;
private void _init() throws Exception {
}
public SessionBean1() {
}
@Override
public void init() {
try {
_init();
} catch (Exception e) {
log("SessionBean1 Initialization Failure", e);
throw e instanceof FacesException ? (FacesException) e : new FacesException(e);
}
}
@Override
public void passivate() {
}
@Override
public void activate() {
}
@Override
public void destroy() {
}
protected ApplicationBean1 getApplicationBean1() {
return (ApplicationBean1) getBean("ApplicationBean1");
}
public boolean isStopOperation() {
return stopOperation;
}
public void setStopOperation(boolean stopOperation) {
this.stopOperation = stopOperation;
}
public String stop_action() {
setStopOperation(true);
System.out.println("getStopOperation() :" + isStopOperation());
return null;
}
public String start_action() {
if (steps <= 0) {
steps = 0;
}
setStopOperation(false);
while (!isStopOperation()) {
steps++;
System.out.println("Step Count :" + steps + ", getStopOperation() :" + isStopOperation());
}
return null;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.