Hi,
I'm new to struts 2 (2.1.6) and having some problems implementing the
<s:checkbox />. After following the bootstrap tutorial, I decided to work on
my project. Based on the tags reference for checkbox
http://struts.apache.org/2.1.6/docs/checkbox.html, <s:checkbox /> or
<s:checkboxk></s:checkbox> in the jsp page should yield the same html output as
<input type="checkbox" />. However, I get a HTTP Status 500 exception:
org.apache.jasper.JasperException: Expression parameters.name is undefined on
line 23, column 32 in template/simple/checkbox.ftl. - Class:
freemarker.core.TemplateObject
File: TemplateObject.java
Method: assertNonNull
Line: 124 - freemarker/core/TemplateObject.java:124:-1
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:73)
Using the dispatcher.FilterDispatcher (I know it's deprecated since 2.1.3)
gives this exception:
org.apache.jasper.JasperException: Expression parameters.name is undefined on
line 23, column 32 in template/simple/checkbox.ftl. - Class:
freemarker.core.TemplateObject
File: TemplateObject.java
Method: assertNonNull
Line: 124 - freemarker/core/TemplateObject.java:124:-1
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:389)
I then try with <s:checkbox name="myCheckBox" />. I get this for html output:
<tr>
<td valign="top" align="right">
</td>
<td valign="top" align="left">
<input type="checkbox" name="myCheckBox" value="true" id="myCheckBox"/>
<input type="hidden" id="__checkbox_myCheckBox" name="__checkbox_myCheckBox"
value="true" /> </td>
</tr>
Is this supposed happen? Why the extra <tr> & <td> tags? Am I supposed to use
my own freemarker template?
TIA,
Tommy
PS: The exceptions given is based on the bootstrap tutorial project.
Web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>Struts 2 Tutorial</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<!--
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class
-->
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
</welcome-file-list>
</web-app>
struts.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts><!-- Configuration for the default package. -->
<package name="default" extends="struts-default">
<action name="HelloWorld" class="tutorial.HelloWorld">
<result>/HelloWorld.jsp</result>
</action>
<action name="Logon_*" method="{1}" class="tutorial.Logon">
<result type="redirectAction">Menu</result>
<result name="input">/Logon.jsp</result>
</action>
<action name="*" class="tutorial.TutorialSupport" >
<result>/{1}.jsp</result>
</action>
</package>
</struts>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]