You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Greg Huber (JIRA)" <ji...@apache.org> on 2013/08/02 20:49:49 UTC
[jira] [Commented] (WW-3919) Checkboxlist does not render label tag
correctly
[ https://issues.apache.org/jira/browse/WW-3919?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13727952#comment-13727952 ]
Greg Huber commented on WW-3919:
--------------------------------
Hello,
I am getting null pointer exceptions on line :
Caused by: java.lang.NullPointerException
at template.events.CheckboxListHandler.isChecked(CheckboxListHandler.java:125)
at template.events.CheckboxListHandler.generate(CheckboxListHandler.java:80)
at org.apache.struts2.views.java.DefaultTheme.renderTag(DefaultTheme.java:120)
at org.apache.struts2.views.java.JavaTemplateEngine.renderTemplate(JavaTemplateEngine.java:95)
at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:572)
at org.apache.struts2.components.UIBean.end(UIBean.java:526)
we need to check for if(nameValues)!=null
ie:
<javacode>
private Boolean isChecked(Map<String, Object> params, String itemKeyStr) {
Boolean checked = false;
if (itemKeyStr != null) {
String[] nameValues = (String[]) params.get("nameValue");
if(nameValues)!=null
for (String value : nameValues) {
if (checked = value.equalsIgnoreCase(itemKeyStr)) {
break;
}
}
}
}
return checked;
}
</javacode>
Cheers Greg
> Checkboxlist does not render label tag correctly
> ------------------------------------------------
>
> Key: WW-3919
> URL: https://issues.apache.org/jira/browse/WW-3919
> Project: Struts 2
> Issue Type: Bug
> Components: Plugin - Java Templates
> Reporter: Greg Huber
> Assignee: Lukasz Lenart
> Priority: Minor
> Fix For: 2.3.12
>
>
> Hello,
> Here are the mods to get the label working!
> {code:java}
> //Checkbox button section
> Attributes a = new Attributes();
> a.add("type", "checkbox")
> .add("name", name)
> .add("value", itemKeyStr)
> .addIfTrue("checked", checked)
> .addIfTrue("readonly", params.get("readonly"))
> .addIfTrue("disabled", disabled)
> .addIfExists("tabindex", params.get("tabindex"))
> //.addIfExists("id", name + "-" + Integer.toString(cnt++));
> .addIfExists("id", id + "-" + Integer.toString(cnt)); << CHANGED
> start("input", a);
> end("input");
> //Label section
> a = new Attributes();
> //a.add("for",id);
> a.add("for",id + "-" + Integer.toString(cnt)) << CHANGED
> .addIfExists("class", params.get("cssClass"))
> .addIfExists("style", params.get("cssStyle"));
> super.start("label", a);
> if (StringUtils.isNotEmpty(itemValueStr))
> characters(itemValueStr);
> super.end("label");
> //Hidden input section
> a = new Attributes();
> a.add("type", "hidden")
> .add("id", "__multiselect_" + StringUtils.defaultString(StringEscapeUtils.escapeHtml4(id)))
> .add("name", "__multiselect_" + StringUtils.defaultString(StringEscapeUtils.escapeHtml4(name)))
> .add("value", "")
> .addIfTrue("disabled", disabled);
> start("input", a);
> end("input");
> super.end("br");
> stack.pop();
>
> cnt++; // Increment <<< ADDED
> {code}
> Cheers Greg
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira