Select all valid values for the <body-content> attribute in a TLD? [Check all correct answers]
1. empty 2. JSP 3. dependent 4. HTML 5. code
Answers given by j2eecertificate.com is : 1 & 2.
According to me "JSP" is invalid. I checked the spec, it gave the following examplination
<Spec>
A TLD is invalid if it specifies JSP as the value for
<body-content> for a tag whose handler implements the SimpleTag interface. JSP containers are recommended to but not required to produce an error if JSP is specified in this case.
</spec>
So does this mean the JSP can be one of the values in the <Body-content> attribute.
shashank http://java.itags.org/java-certification/9145/
1. empty 2. JSP 3. dependent 4. HTML 5. code
Answers given by j2eecertificate.com is : 1 & 2.
According to me "JSP" is invalid. I checked the spec, it gave the following examplination
<Spec>
A TLD is invalid if it specifies JSP as the value for
<body-content> for a tag whose handler implements the SimpleTag interface. JSP containers are recommended to but not required to produce an error if JSP is specified in this case.
</spec>
So does this mean the JSP can be one of the values in the <Body-content> attribute.
shashank http://java.itags.org/java-certification/9145/
package zl.framework.tag;import javax.servlet.jsp.JspException;/**
* 逻辑控制的相等判断
* @author xjl
* @version 2.0
*/
public class EqualTag extends BaseTag { private static final long serialVersionUID = 1L;
private String name;
private String scope;
private String value;
private String compare;
public int doStartTag() throws JspException {
return super.doStartTag();
} public void doInitBody() throws JspException {
super.doInitBody();
} public int doAfterBody() throws JspException {
return EVAL_PAGE;
} public int doEndTag() throws JspException {
write(getBody(name, scope, value, compare, 4));
return super.doEndTag();
} /**
* 取值的依据
* @param name
*/
public void setName(String name) {
this.name = name;
}
/**
* 取值作用域
* @param scope 默认优先级为page--request--session--application
*/
public void setScope(String scope) {
this.scope = scope;
} /**
* 要比较的值
* @param value
*/
public void setValue(String value) {
this.value = value;
} /**
* 要比较的值存放的依据(优先级比value高)
* @param compare
*/
public void setCompare(String compare) {
this.compare = compare;
}
}
/**
* 逻辑控制时获得页面输出内容
* @param name 取值的依据
* @param scope 取值作用域
* @param value 要比较的值
* @param compare 要比较的值存放的依据
* @param logicIndex 逻辑运算符的索引
* @return String
*/
public String getBody(String name, String scope, String value, String compare, int logicIndex) {
Object compareObject = getCompareObject(compare, value, scope);
int index = getNumberSign(name);
Object object = getObject(index, name, scope);
if (null != object && null != compareObject) {
if (index >= 0) {
if (compare(StringToMath(getOperatValue(name, object, index), object.getClass()), compareObject, logicIndex)) {
return (null != getBodyContent()) ? getBodyContent().getString() : "";
}
} else {
if (compare(object, compareObject, logicIndex)) {
return (null != getBodyContent()) ? getBodyContent().getString() : "";
}
}
}
if (null == object && null != compareObject && logicIndex == 5) {
return (null != getBodyContent()) ? getBodyContent().getString() : "";
}
if (null != object && null == compareObject && logicIndex == 5) {
return (null != getBodyContent()) ? getBodyContent().getString() : "";
}
return "";
}
<tag>
<description>逻辑控制的相等判断</description>
<name>equal</name>
<tag-class>zl.framework.tag.EqualTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<description>取值的依据</description>
<name>name</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>取值的作用域,默认优先级为page--request--session--application</description>
<name>scope</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>要比较的值</description>
<name>value</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description>要比较的值存放的依据(优先级比value高)</description>
<name>compare</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>