我从客户端的用户那里获得了一些输入,但没有对字符的限制。所以我将输入存储为BLOB数据类型。
我直接使用getter和setter填充我的实体。
行动类:
public class OperatorNotesAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private OperatorNotesInfo note;
....
}
OperatorNotesInfo
是我填充的实体。在客户端,我使用javascript:
JS:
$.ajax({
type: 'POST',
url: "<s:url action='updateNote'/>",
data:
{
'note.title':$('#title').val(),
'note.id.operatorId':$('#operatorId').val(),
'note.content':$('textarea').val()
},
这里的内容是动作类中的字节数组类型,因为它存储为blob。
如何键入将用户输入的输入转换为字节数组,以便保存实体note
的内容属性?
答案 0 :(得分:0)
您需要编写自定义类型转换器。输入中的字符串默认转换为String
类型。你可以阅读which types conversion is supported via built-in type conversion。如果要将字符串转换为bytearray,则需要编写转换器。然后将它与您的财产一起使用
@TypeConversion(converter="org.conversion.StringToBytearrayConverter")
public void setContent(byte[] bytes) {
this.content = bytes;
}