[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 一下... |