📄 checkboxtag.java
字号:
package com.core.taglib;
import org.apache.commons.logging.*;
import com.opensymphony.webwork.views.jsp.*;
public class CheckBoxTag extends BaseTag {
private static Log log = LogFactory.getLog(CheckBoxTag.class);
boolean checked = false;
public CheckBoxTag() {
}
public int doStartTag() throws javax.servlet.jsp.JspException {
return SKIP_BODY;
}
public int doEndTag() throws javax.servlet.jsp.JspException {
try {
pageContext.getOut().print(getHtmlStr());
} catch (Exception e) {
throw new javax.servlet.jsp.JspException(e);
}
return EVAL_BODY_INCLUDE;
}
//得到独特属性的字符串
public String getSelfStr() {
StringBuffer bufSelf = new StringBuffer();
return bufSelf.toString();
}
//得到最终的字符串
public String getHtmlStr() {
String ret = "";
// step1:处理直接输出的普通属性。
String strComm = super.getCommHtml();
// log.info("普通属性的字符串是:"+strComm);
// 检查OgnlValueStack中的值。
Object stackObject = TagUtils.getStack(this.pageContext).findValue(name);
if (null != stackObject) { //有值
ret = "<input type=\"checkbox\" " + strComm + (getValue() != null ? " value=\"" + getValue() + "\"" : " value=\"" + stackObject.toString() + "\"") +
(getValue() != null && ( (stackObject.toString() + ",").indexOf(getValue() + ",") != -1) ? " checked" : "") + ">";
// log.info("在OgnlValueStack找到了" + name + "! 它的值是:" + value);
} else { //没值
ret = "<input type=\"checkbox\" " + strComm + (getValue() != null ? " value=\"" + getValue() + "\"" : "") + (isChecked() ? " checked" : "") + ">";
}
return ret;
}
public boolean isChecked() {
return checked;
}
public void setChecked(boolean checked) {
this.checked = checked;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -