在struts2中基于java flg创建一个禁用/启用按钮
行动:在struts2中基于java flg创建一个禁用/启用按钮,java,html,jsp,struts2,struts-tags,Java,Html,Jsp,Struts2,Struts Tags,行动: 公共类TuAction()扩展了ActionSupport{ private boolean loseItemFlg=false; 私有字符串doFuilureOrder(){ 如果(…){ loseItemFlg=真; } 回归成功; } 公共布尔值isLoseItemFlg(){ 返回loseItemFlg; } public void setLoseItemFlg(布尔loseItemFlg){ this.loseItemFlg=loseItemFlg; } } 和我的Jsp:
公共类TuAction()扩展了ActionSupport{
private boolean loseItemFlg=false;
私有字符串doFuilureOrder(){
如果(…){
loseItemFlg=真;
}
回归成功;
}
公共布尔值isLoseItemFlg(){
返回loseItemFlg;
}
public void setLoseItemFlg(布尔loseItemFlg){
this.loseItemFlg=loseItemFlg;
}
}
和我的Jsp:
函数对话框打开(formName,actionName){
如果(comfirm(“您想这样做吗?”)){
....
document.forms[formName].action=actionName;
document.forms[formName].submit();
}否则{
//我不想重新加载页面。
}
}
但是这个代码按钮的禁用属性不是由我控制的!!
然后我将jsp更改为:
现在按钮的disable属性由我的控件控制,但是,“doFuilureOrder()”
不由我使用
关于不重新加载页面应该在我的jsp中做什么
我的英语很糟糕,这是我第一次使用stackoverflow。有人知道我的意思。您不能将scriptlet嵌套在Struts标记中(如第二种情况),而您可以(但您不应该,因为使用scriptlet是一种糟糕的做法)将它们注入HTML标记中 然后可以在HTML标记中使用
标记(第一种情况)
,或替换Struts标记中的scriptlet(第二种情况),最好使用
标记装载URL:
他们都工作
用法也可以(而且应该)应用于第一种情况:
对于输入标记,禁用的属性不基于真/假。当您写入禁用属性时,输入默认为禁用,请检查 然后在jsp中:
<input type = "button"
<s:property value="%{loseItemFlg}"/> value="lose" onclick = "dialogOpen('tuAction'),'<%request.getContextPath()%>/tuAction_doFuilureOrder.action')" />
这样编码是不可能的。
<s:if test="%{loseItemFlg}"> // if true - button disabled state
<input type="button" disabled value="lose" onclick="dialogOpen('tuAction','<%request.getContextPath()%>/tuAction_doFuilureOrder.action')"/>
</s:if><s:else> //button enabled
<input type="button" value="lose" onclick="dialogOpen('tuAction','<%request.getContextPath()%>/tuAction_doFuilureOrder.action')"/>
</s:else>
private String loseItemFlg='';
private String doFuilureOrder(){
if(...){
loseItemFlg="disabled";
}
return SUCCESS;
}
public String getLoseItemFlg() {
return loseItemFlg;
}
public void setLoseItemFlg(String loseItemFlg) {
this.loseItemFlg = loseItemFlg;
}
<input type = "button"
<s:property value="%{loseItemFlg}"/> value="lose" onclick = "dialogOpen('tuAction'),'<%request.getContextPath()%>/tuAction_doFuilureOrder.action')" />