我将数据放入结果集中并将其转换为 RowSetDynaClass。我在 Display 标签中传递这个 RowSetDynaClass 来显示列表。我也在使用装饰器来生成动态链接。以下是jsp页面上的代码...
<% RowSetDynaClass resultSetSearch = (RowSetDynaClass)request.getAttribute("rowSetSearchDyna"); %>
...
<display:table name="requestScope.resultSetSearch.rows" excludedParams="serialno status" pagesize="10" export="true" id="sessionresult"
class="displayTable" requestURI="" decorator="com.hpcfte.decorator.GraphLinkDecorator">
<display:column title="No."><%=pageContext.getAttribute("sessionresult_rowNum")%></display:column>
<display:column property="sessionid" href="graph" title="Sessionid" >
</display:column>
<display:column property="usercomment" title="Session Name" />
<display:column property="meterid" title="Meterid" />
<display:column format="{0,date,yyyy-MM-dd hh:mm:ss}" property="startdatetime" title="Start Date Time" />
<display:column format="{0,date,yyyy-MM-dd hh:mm:ss}" property="enddatetime" title="End Date Time" />
<display:column property="graph" title="Show Graph" />
<display:caption> Session Information </display:caption>
</display:table>
我的装饰类
public String getGraph(){
// SessionInfo sessionData = (SessionInfo)getCurrentRowObject();
RowSetDynaClass sessionData=(RowSetDynaClass) getCurrentRowObject();
//String showGraph = "<a href=\"javascript:send("+sessionData.getStartDateTime()+","+sessionData.getEndDateTime()+")\"> show graph </a>";
String showGraph = "<a href=\"javascript:send()\"> show graph </a>";
return showGraph;
}
此代码给出错误
org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: Exception: [.LookupUtil] Error looking up property "graph" in object type "com.hpcfte.decorator.GraphLinkDecorator". Cause: null
当我评论RowSetDynaClass sessionData=(RowSetDynaClass) getCurrentRowObject();
这一行时,它工作正常。
我想在我的装饰器类中访问当前行 startdatetime 和 enddatetime。我该怎么办。我还尝试了会话信息类,该类具有相应的归档和 getter 和 setter 方法,但仍然是相同的错误。下面是会话信息类。
public class SessionInfo {
private String sessionId;
private String meterId;
private Date startDateTime;
private Date endDateTime;
private String userComment;
private boolean status;
public Date getEndDateTime() {
return endDateTime;
}
public void setEndDateTime(Date endDateTime) {
this.endDateTime = endDateTime;
}
public String getMeterId() {
return meterId;
}
public void setMeterId(String meterId) {
this.meterId = meterId;
}
public String getSessionId() {
return sessionId;
}
public void setSessionId(String sessionId) {
this.sessionId = sessionId;
}
public Date getStartDateTime() {
return startDateTime;
}
public void setStartDateTime(Date startDateTime) {
this.startDateTime = startDateTime;
}
public boolean isStatus() {
return status;
}
public void setStatus(boolean status) {
this.status = status;
}
public String getUserComment() {
return userComment;
}
public void setUserComment(String userComment) {
this.userComment = userComment;
}
}