我从客户端的用户那里得到一些输入,字符数没有限制。所以我将输入存储为 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
的内容属性?
您需要编写一个自定义类型转换器。默认情况下,输入的字符串将转换为
String
类型。您可以阅读通过内置类型转换支持哪些类型转换。如果要将字符串转换为字节数组,则需要编写一个转换器。然后将其与您的财产一起使用
@TypeConversion(converter="org.conversion.StringToBytearrayConverter")
public void setContent(byte[] bytes) {
this.content = bytes;
}