Error during execution of processor 'org.thymeleaf.standard.processor.text.StandardTextInliningTextP
错误1:Error during execution of processor ‘org.thymeleaf.standard.processor.text.StandardTextInliningTextProcessor’
说明
后端返回给前端一个modelAndView
modelAndView.addObject("article",article);
modelAndView.addObject("keys",keys);
modelAndView.addObject("categoryId",categoryId);
modelAndView.setViewName("reEditor");
return modelAndView;
前端通过js取出,使用thymeleaf模板
<script th:inline="javascript">
/*<![CDATA[*/
var article=[[${article}]]
var keys = [[${keys}]];
var categoryId= [[${categoryId}]];
var articleId=[[${article.id}]];
console.log(articleId);
/*]]>*/
</scrip>
其中除了article,其他对象都是字符串,article实体如下
@Entity
@Table(name = "article")
@Data
public class Article{
@Id
@GeneratedValue(strategy =GenerationType.AUTO)
Long id;
public Article(Long contentId, String title, String content, Timestamp pubtime, int readNumber, int reviewNumber, int topNumber, int bottomNumber, int hotIndex, User user, Category category) {
this.contentId = contentId;
this.title = title;
this.content = content;
this.pubtime = pubtime;
this.readNumber = readNumber;
this.reviewNumber = reviewNumber;
this.topNumber = topNumber;
this.bottomNumber = bottomNumber;
this.hotIndex = hotIndex;
this.user = user;
this.category = category;
}
public Article(){}
Long contentId;
String title;
String content;
Timestamp pubtime;
int readNumber;
int reviewNumber;
int topNumber;
int bottomNumber;
@Column(name = "hot_index")
int hotIndex;
@Transient //不映射数据库
String author;
@JsonIgnore
@ManyToOne(fetch = FetchType.LAZY,cascade = {CascadeType.REFRESH})
@JoinColumn(name="user_id")//外键,自动生成
User user;
@JsonIgnore
@ManyToOne(fetch = FetchType.LAZY,cascade = {CascadeType.MERGE})
@JoinColumn(name = "category_id")
Category category;
}
具体情况如上所述,运行起来就报错,错误信息就是那个大大的标题。google了半天,连stackoverflow上都没人回答。自己也是侥幸才发现了这个小问题的答案。为什么我把article实体列了出来?重点就在这里,细心的你一定发现了,article里有一个外键,对!就是这个外键影响了程序的正常运行。如果modelandview里只放入字符串对象就一切正常。之后我就猥琐的解决了这个问题,把需要的属性从article里取出来,单独放入modelandview。。。
重要的话要加粗:如果你有更好的方法希望要告我奥