zhoupan / jmesa

Automatically exported from code.google.com/p/jmesa
0 stars 0 forks source link

jsp.error.beans.property.conversion #232

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
I am receiving the following error:

10:40:08,984 ERROR [Engine] ApplicationDispatcher[/hqiis] Servlet.service() 
for
servlet jsp threw exception
org.apache.jasper.JasperException: jsp.error.beans.property.conversion
        at 
org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEdito
rManager(JspRuntimeLibrary.java:885)
        at 
org.apache.jsp.WEB_002dINF.jsp.search.jmesaSiteResults_jsp._jspx_meth
_jmesa_tableFacade_0(jmesaSiteResults_jsp.java:119)

My JSP code is the following:

<%@ taglib uri="/WEB-INF/tld/jmesa.tld" prefix="jmesa"%>
<%@ page language="java"%>

<%
    // Following code stops caching of this JSP.  Use 'private' instead 
of 'no-
cache'.  'private' allows
    // Microsoft Office documents to be downloaded over SSL, which 'no-
cache' 
does not allow in Internet Explorer.
    // Note: Do not specify 'no-store' as a Cache-control parameter, 
since 'no-
store' prevents Microsoft Office
    // documents from opening directly from the Web browser.
    response.setHeader("Pragma", "private"); // for HTTP 1.0
    response.setHeader("Cache-control", "private, must-revalidate"); // 
for HTTP 
1.1
    response.setHeader("Expires", "-1");
%>

<html>
<head>
<title>Title</title>
<!-- Stylesheet -->
<link href="./stylesheets/styles.css" rel="stylesheet" type="text/css" />
<script src="./javascript/jmesa.js"></script>
<script src="./javascript/jmesa.min.js"></script>
<script src="./javascript/jquery.jmesa.js"></script>
<script src="./javascript/jquery.jmesa.min.js"></script>
<!-- End of Stylesheet -->
</head>
<body>
<jmesa:tableFacade id="siteTable" items="${sites}" maxRows="8"
    exportTypes="csv,excel" maxRowsIncrements="8,16,24" 
stateAttr="restore"
    var="siteBean">
    <jmesa:htmlTable caption="Site Search Results" width="600px">
        <jmesa:htmlRow>
            <jmesa:htmlColumn property="name" title="Site Name" 
/>
            <jmesa:htmlColumn property="uid" title="Site Uid" 
/>
            <jmesa:htmlColumn property="code" title="Site Code" 
/>
        </jmesa:htmlRow>
    </jmesa:htmlTable>
</jmesa:tableFacade>

<script type="text/javascript">
function onInvokeAction(id) {
    setExportToLimit(id, '');
    createHiddenInputFieldsForLimitAndSubmit(id);
}
function onInvokeExportAction(id) {
    var parameterString = createParameterStringForLimit(id);
    location.href = '${pageContext.request.contextPath}/tag.run?' + 
parameterString;
}
</script>

</body>
</html>

My snippet of controller code is:

        Collection<UnofficialSite> unofficialSites = siteService

.getUnofficialSitesByCriteria(hqiisCriteria);

        Collection<SiteBean> items = new ArrayList<SiteBean>();

        for (UnofficialSite uSite : unofficialSites) {
            SiteBean siteBean = new SiteBean();

siteBean.setName(StringUtils.trimToEmpty(uSite.getName()));

siteBean.setCode(StringUtils.trimToEmpty(uSite.getCode()));
            siteBean

.setUid(Util.isPositiveNumber(uSite.getUid()) 
? Integer

.toString(unofficialSite.getUid())
                            : 
Util.EMPTY_STRING);

            items.add(siteBean);
        }

        TableFacade tableFacade = new TableFacadeImpl("siteTable", 
request);
        tableFacade.setItems(items);
        tableFacade.setColumnProperties("name", "uid", "code");
        tableFacade.setExportTypes(response, CSV, EXCEL);

        Limit limit = tableFacade.getLimit();
        if (limit.isExported()) {
            tableFacade.getTable().setCaption("Sites");

tableFacade.getTable().getRow().getColumn("name").setTitle(
                    "Site Name");

tableFacade.getTable().getRow().getColumn("uid").setTitle(
                    "Site UID");

tableFacade.getTable().getRow().getColumn("code").setTitle(
                    "Site Code");
            tableFacade.render();
            return null;
        }

        request.setAttribute("sites", items);

        return mapping.findForward("searchSites");

I am using Struts 1.2.4 and Spring 2.0.8.  Any help is appreciated.  Thank 
you.

Original issue reported on code.google.com by jpark...@gmail.com on 20 Nov 2009 at 4:13

GoogleCodeExporter commented 9 years ago
When are you getting this error? Did it just start happening?

Original comment by jeff.johnston.mn@gmail.com on 20 Nov 2009 at 6:55

GoogleCodeExporter commented 9 years ago
This is my first time implementing JMesa, and I have not yet been successful.  
Issue 
174 (http://code.google.com/p/jmesa/issues/detail?id=174&can=1&sort=-id) is the 
same 
issue.  Yet, this issue was closed without no clear resolution being posted.

Original comment by jpark...@gmail.com on 20 Nov 2009 at 8:15

GoogleCodeExporter commented 9 years ago
Are you able to run the examples war in your servlet container?

If you are using Tomcat you might need to delete your tomcat work directory. 
That is
where the JSP's get compiled and sometimes they get in a weird state.

You might also want to take that scriptlet code (that is modifying the 
response) out
of the page and see if that helps.

I tried googling the error and there is not too much about things to try...

Original comment by jeff.johnston.mn@gmail.com on 20 Nov 2009 at 9:34

GoogleCodeExporter commented 9 years ago

Original comment by jeff.johnston.mn@gmail.com on 13 Apr 2010 at 7:10