[ECSide] 遇到的bug

amigo 2007-04-28
测试范例时候:
/demo.jsp(2): Error in using tag library uri='/WEB-INF/ecside.tld' prefix='ec': The Tag class 'org.ecside.tag.TableTag' has no setter method corresponding to TLD declared attribute 'imagePath', (JSP 1.1 spec, 5.4.1)
probably occurred due to an error in /demo.jsp line 2:
<%@ taglib uri="/WEB-INF/ecside.tld" prefix="ec" %>

居然出现这个'imagePath'没有对应的设置属性,看了一下代码,是没有,到底是咋会事呢?
fins 2007-04-29
我的例子中应该是没有 'imagePath' 属性的啊
这个属性在原版EC中有,后来我去掉了,因为页面内部直接和图片的路径藕合的做法我实在不喜欢.使用图片的地方其实完全可以用CSS代替.
amigo 2007-04-30
错误依然,看了一下ecside.tld,里面有这样的定义:
<attribute>
<name>imagePath</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<description>
<![CDATA[The path to find the images. For example imagePath=/extremesite/images/*.png is saying look in the image directory for the .png images.]]>
</description>
</attribute>


 demo.jsp代码如下:
<%@ page language="java" contentType="text/html;charset=UTF-8" %>
<%@ taglib uri="/WEB-INF/ecside.tld" prefix="ec" %>
<%@ page import="demo.TestData"  %>
<%@ page import="demo.common.CommonDictionary"  %>
<%

String webapp=request.getContextPath();
// begin: 下面这几步通常在action/servlet里完成,这个例子偷懒了,直接取了
request.setAttribute("records", TestData.getTestData(request));
request.setAttribute("GENDER_MAP", CommonDictionary.GENDER);
request.setAttribute("USERROLE_MAP", CommonDictionary.USERROLE);
// end.

%>

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="MSThemeCompatible" content="no" />
<title>EC Side 2.0 demo</title>
<link rel="stylesheet" type="text/css" href="<%=webapp%>/common/css/ecside_style.css" />
<script type="text/javascript" src="<%=webapp%>/common/js/prototype_mini.js" ></script>
<script type="text/javascript" src="<%=webapp%>/common/js/ecside.js" ></script>
</head>


<body style="margin:10px;" >


<ec:table items="records" var="record" retrieveRowsCallback="process"
action="${pageContext.request.contextPath}/demo.jsp"
title="用户列表"

xlsFileName="用户列表.xls"
csvFileName="用户列表.csv"

width="100%"
listWidth="100%"
height="280px"
>
<ec:row>
<ec:column width="50" property="_0" title="序号" value="${GLOBALROWCOUNT}" />
<ec:column width="80" property="USERROLE" title="角色"  mappingItem="USERROLE_MAP" />
<ec:column width="120" property="USERNAME" title="用户名" />
<ec:column width="100" property="PASSWD" title="密码"  />
<ec:column width="120" property="EMAIL" title="电子信箱" />
<ec:column width="70" property="GENDER" title="性别"  mappingItem="GENDER_MAP" />
</ec:row>
</ec:table>


</body>


</html>
bjwulin 2007-04-30
这个imagePath是以前extremecomponent的遗留物,现在fins把这个放在css里面了。但是ecside.tld的声明没有去掉,但是Tag类中已经没有setter方法了。

建议下次的tld文件去掉,免得有歧义。
amigo 2007-04-30
终于解决这个问题,但现在进去时候,显示正常,翻页之后就全部显示为乱码了。。。
bjwulin 2007-04-30
乱码?这个还真没有遇到过。你是指内容乱码,还是连表头都乱码?
amigo 2007-04-30
进去的时候显示正常,翻页或刷新的时候,表头和翻页导航全部显示乱码了
bjwulin 2007-04-30
明白,你看看两个地方,一个是filter的encoding,第二个是看看项目的编码,应该是第一个问题吧。
fins 2007-04-30
乱码问题你搜索一下这个圈子的论坛
我写过一篇
ECSIDE faq之 乱码问题
amigo 2007-04-30
我想你说应该是这个:
http://ecside.group.iteye.com/group/topic/840

但再weblogic8.1下面使用的确会出现这样的问题:
http://ecside.group.iteye.com/group/topic/934

今天研究了半天,最终换成tomcat5下,一切正常,啥都没有更换;在weblogic81下,将userajax=false之后,对应的mappingItem又无效了

还望fins看一下,或者在weblogic deploy 一下...
Global site tag (gtag.js) - Google Analytics