【发布时间】:2011-06-21 05:46:00
【问题描述】:
大家好。
问题-
在 /member/cvUpload 中填充 nl.strohalm.cyclos.controls.cv.CvUploadForm@317bdd 时出错 javax.servlet.ServletException: BeanUtils.populate
我正在开发一个开源 wep 应用程序,并尝试通过添加新功能来自学一些技能。
现在 Web 应用程序被称为 cyclos 并使用 - Java EE、Struts、Hibernate、JSP、Tiles-def(spring、MySql JavaScript)设置:控件、DAO、服务、实体等。
我正在尝试添加新功能,例如 CV 数据库,以便用户保存模板和文件。
我的示例 JSP 表单如下所示:
<ssl:form method="post" action="/member/cvUpload" enctype="multipart/form-data">
<html:hidden property="id" />
<html:hidden property="owner" />
<html:hidden property="uploadDate" />
<table class="defaultTableContent" cellspacing="0" cellpadding="0">
<tr>
<td class="tdHeaderTable">TITLE HERE PLEASE !!!></td>
</tr>
<tr>
<td colspan="2" align="left" class="tdContentTableLists">
<table class="defaultTable">
<tr>
<th class="tdHeaderContents" width="30%"> CV Upload -> needs properties copy / ref !!!</th>
<th class="tdHeaderContents" width="60%"> </th>
</tr>
<tr>
<td>Notes </td>
<td><cyclos:richTextArea name="notes" styleId="descriptionText"/></td>
</tr>
<tr>
<td>Address</td>
<td><html:text value="address" size="25" property="address" /><br>
<html:text value="address" size="25" property="address2" />
<html:text value="address" size="25" property="address3" />
</td>
</tr>
<tr>
<td>Phone Number</td>
<td><html:text value="0791 000 000" size="15" property="phoneNumber"/></td>
</tr>
<tr>
<td>Field of interest / industry</td>
<td><c:forEach var="industry" items="${industries}">
<label>
<html:radio property="industry" value="${industry}" styleClass="radio" /><bean:message key="cv.industries.${industry}" />
</label>
</c:forEach>
</td>
</tr>
<tr>
<td>CV upload</td>
<td><html:file property="cvContent" /></td>
</tr>
<tr>
<td>
<input type="submit" id="saveButton" value="<bean:message key="global.submit"/>" align="center">
</td>
</tr>
</table>
</td>
</tr>
</table>
我的 java 表单由 struts 填充,或者看起来如下:
public class CvUploadForm extends BaseBindingForm {
private Long id;
@IndexedEmbedded(depth = 4)
private Member owner;
// private Calendar creationDate;
// private Member memberId;
private FormFile cvContent;
private Calendar uploadDate;
private long memberId;
public CvUploadForm() {
}
public CvUploadForm(Long id, Member owner, FormFile cvContent, Calendar uploadDate) {
this.id = id;
this.owner = owner;
this.cvContent = cvContent;
this.uploadDate = uploadDate;
}
public Map<String, Object> getCv() {
return values;
}
public void setCv(final Map<String, Object> map) {
values = map;
}
public void setCv(final String key, final Object value) {
values.put(key, value);
}
// ++ 获取器和设置器 ++
// ==============================================
现在我可以显示我的模板,但我的提交不起作用 -> 我想了解我的输出窗口中显示的问题/错误! (见顶部和以下错误)
显示的下一个错误如下:
原因:java.lang.IllegalArgumentException:无法调用 nl.strohalm.cyclos.controls.cv.CvUploadForm.setOwner - 参数类型不匹配
加上几个错误。 (所有者 ov cv 引用不同的成员表作为 ID - 使用 java 枚举 - 关系...获取
非常感谢任何回复!我对设置进行了一些澄清。我以为我只能使用表单在 JSP 上显示位,并使用 CV.java 实体文件进行映射等。 .所以我在获取所有文件和正确连接以及理解这里的错误时有点迷失
感谢您的回复,如果您需要更多信息,请告诉我。 亚历克斯
【问题讨论】:
标签: java hibernate jsp struts dao