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: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

Reply via email to