You are building a web application that will be used throughout the European Union; therefore, it
has significant internationalization requirements. You have been tasked to create a custom tag
that generates a message using the java.text.MessageFormat class. The tag will take the
resourceKey attribute and a variable number of argument attributes with the format, arg<N>. Here
is an example use of this tag and its output:
<t:message resourceKey=’diskFileMsg’ arg0=’MyDisk’ arg1=’1247′ />
generates:
The disk “MyDisk” contains 1247 file(s).
Which Simple tag class definition accomplishes this goal of handling a variable number of tag
attributes?
A.
public class MessageTag extends SimpleTagSupport
implements VariableAttributes {
private Map attributes = new HashMap();
public void setVariableAttribute(String uri,
String name, Object value) {
this.attributes.put(name, value);
}
// more tag handler methods
}
B.
The Simple tag model does NOT support a variable number of attributes.
C.
public class MessageTag extends SimpleTagSupport
implements DynamicAttributes {
private Map attributes = new HashMap();
public void putAttribute(String name, Object value) {
this.attributes.put(name, value);
}
// more tag handler methods
}
D.
public class MessageTag extends SimpleTagSupport
implements VariableAttributes {
private Map attributes = new HashMap();
public void putAttribute(String name, Object value) {
this.attributes.put(name, value);
}
// more tag handler methods
}
E.
public class MessageTag extends SimpleTagSupport
implements DynamicAttributes {
private Map attributes = new HashMap();
public void setDynamicAttribute(String uri, String name,
Object value) {
this.attributes.put(name, value);
}
// more tag handler methods
}
Explanation: