带有 Thymeleaf、Spring 引导、Mysql 的 Ckeditor

Posted

技术标签:

【中文标题】带有 Thymeleaf、Spring 引导、Mysql 的 Ckeditor【英文标题】:Ckeditor with Thymeleaf, Spring boot, Mysql 【发布时间】:2019-02-12 15:26:44 【问题描述】:

当点击“保存”时,除了“内容”之外的所有字段都被插入到 mysql 中。

当调试字段“内容”为空时

帮帮我,谢谢

这是我的代码:

form-post.html

<form action="#" th:action="@/savepost" th:object="$post"
            method="POST" novalidate="novalidate">
            <!-- <input type="hidden" th:field="*id" /> -->
            <div class="form-group">
                <label>Title</label> <input type="text" class="form-control"
                    th:field="*title" th:errorclass="field-error" /> <em
                    th:if="$#fields.hasErrors('title')" th:errors="*title"></em>
            </div>
            <div class="form-group">
                <label>Description</label> <input type="text"
                    class="form-control" th:field="*description"
                    th:errorclass="field-error" /> <em
                    th:if="$#fields.hasErrors('description')" th:errors="*description"></em>
            </div>
            <div class="form-group">
                <label>Link Image</label> <input type="url"
                    class="form-control" th:field="*image_title" />
            </div>
            <div class="form-group">
                <label>Category</label> <input type="number"
                    class="form-control" th:field="*id_category" />
            </div>
            <div class="form-group">
                <label>Id Images</label> <input type="number"
                    class="form-control" th:field="*id_images" />
            </div>
            <!-- <input type="hidden" th:field="*create_date" /> -->
            <div class="form-group">
                <label>Create By</label> <input type="text"
                    class="form-control" th:field="*create_by" />
            </div>
            <!-- <input type="hidden" th:field="*view" /> -->
            <div class="form-group">
                <label>Source</label> <input type="text"
                    class="form-control" th:field="*source_post" />
            </div>
            <div class="form-group">
                <label>Content</label> <input type="text" id="con" name="con"
                    class="form-control" th:field="*content" th:text="$content"/>
            </div>
            <button type="submit" class="btn btn-primary">Save</button>
            <button type="reset" class="btn btn-primary">Reset</button>
        <script>
            CKEDITOR.replace('con');
        </script>
        </form>

Controller.java @控制器

@GetMapping(value="/createpost")
public String create(Model model) 

    model.addAttribute("post", new Post());
    return "form-post.html";


@PostMapping(value="/savepost")
public String save(@Valid Post post, BindingResult result, RedirectAttributes redirect) 


    if(post.getCreate_date() == null) 
        Date date = new Date();
        post.setCreate_date(date);
    
    if(post.getView() == null) 
        post.setView(1);
    
    if(post.getContent() == null || post.getContent().isEmpty()) 
        post.setContent("Error insert content!!!. Because input content null or empty.");
    
    postService.savePost(post);
    //redirect.addFlashAttribute("success", "Saved contact successfully!");
    return "redirect:/index";

【问题讨论】:

post.getContent() 返回什么? 【参考方案1】:

我找到了问题的答案。

<input type="text" id="con" name="con" class="form-control" th:field="*content"/>

转帖者:

<textarea name="cont" id="cont" rows="10" cols="80" th:field="*content"></textarea>

【讨论】:

【参考方案2】:

您在 th:field 和 th:text 中使用了两次内容。删除 th:text

应该是

<input type="text" id="con" name="con" class="form-control" th:field="*content"/>

【讨论】:

以上是关于带有 Thymeleaf、Spring 引导、Mysql 的 Ckeditor的主要内容,如果未能解决你的问题,请参考以下文章

Thymeleaf 和 Spring 引导以及 Spring 安全性不起作用

Thymeleaf 表单未提交给 Spring 引导控制器

Thymeleaf 或 JSP:Spring Boot 哪个更好?

CSS 文件找不到 thymeleaf Spring Boot

datetimepicker 值未绑定到带有 thymeleaf 的属性 spring

Spring Boot、Spring Security 和 Thymeleaf:将 CsrfFilter 应用到带有表单的网站