Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation 验证和自由标记_Validation_Message_Freemarker - Fatal编程技术网

Validation 验证和自由标记

Validation 验证和自由标记,validation,message,freemarker,Validation,Message,Freemarker,我们必须在页面上进行验证,如果是空字段,则显示消息。 这是我的类,控制器的方法和消息的设置。 我无法在页面上获取Freemarker显示错误消息 public class CreateCourseDTO { @NotEmpty private String name; @NotEmpty private String category; @NotEmpty private String description; @NotEmpty private String links; p

我们必须在页面上进行验证,如果是空字段,则显示消息。 这是我的类,控制器的方法和消息的设置。 我无法在页面上获取Freemarker显示错误消息

public class CreateCourseDTO {
@NotEmpty  
private String name;
@NotEmpty  
private String category;
@NotEmpty  
private String description;
@NotEmpty  
private String links;

public CreateCourseDTO() {
}


NotEmpty.createCourseDTO.name = Name is required!
NotEmpty.createCourseDTO.category = Category is required!
NotEmpty.createCourseDTO.description = Description is required!
NotEmpty.createCourseDTO.links = Links is required!


<bean class="org.springframework.context.support.ResourceBundleMessageSource"
    id="messageSource">
    <property name="basename" value="messages" />
</bean>


 @RequestMapping(value = "/create", method = RequestMethod.POST, params = {
        "name", "category", "description", "links" })
public String createCoursePost(Model model, HttpSession session,
        HttpServletRequest request, @Valid CreateCourseDTO createCourseDTO,
        BindingResult result) {
    model.addAttribute("eMail", session.getAttribute("eMail"));

    String title = request.getParameter("name");
    String description = request.getParameter("description");
    String links = request.getParameter("links");
    String category = request.getParameter("category");

    if (result.hasErrors() ) {
public类创建CoursedTo{
@空空如也
私有字符串名称;
@空空如也
私有字符串类别;
@空空如也
私有字符串描述;
@空空如也
私有字符串链接;
公共课程{
}
NotEmpty.createCourseDTO.name=名称是必需的!
NotEmpty.createCourseDTO.category=类别是必需的!
NotEmpty.createCourseDTO.description=需要说明!
NotEmpty.createCourseDTO.links=需要链接!
@RequestMapping(value=“/create”,method=RequestMethod.POST,参数={
“名称”、“类别”、“说明”、“链接”})
公共字符串createCoursePost(模型、HttpSession会话、,
HttpServletRequest请求,@Valid CreateCourseDTO CreateCourseDTO,
BindingResult(结果){
model.addAttribute(“电子邮件”,session.getAttribute(“电子邮件”);
字符串title=request.getParameter(“名称”);
字符串描述=request.getParameter(“描述”);
字符串链接=request.getParameter(“链接”);
字符串category=request.getParameter(“category”);
if(result.hasErrors()){
如何修复freemarker页面

<#import "/spring.ftl" as spring />
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<link rel="stylesheet" type="text/css" href="./css/style.css"/>
<style>
.error {
color: #ff0000;
}

.errorblock {
color: #000;
background-color: #ffEEEE;
border: 3px solid #ff0000;
padding: 8px;
margin: 16px;
}
</style>
</head>
 <body>
  <div class="container">
  <header>
    <h1>
      Create Course
      <div class="logout">
        <span id="currentUserLogin">
          ${eMail}
        </span>
        <a href="logout.html">
          <i class="icon-off"></i>
        </a>
      </div>
    </h1>
  </header>



  <form class="form-horizontal" commandName="createCourseDTO"  method=POST>
    <fieldset>
      <div class="control-group">
        <label class="control-label">Name</label>
        <div class="controls">
          <input id="name" name="name" class="span5" type="text"/>
          <@spring.showErrors "<br>"  />  
        </div>
      </div>
       <div class="control-group">
        <label class="control-label">Category</label>
        <div class="controls">
          <select id="category" name="category" class="span5">
            <option></option>
             <#list listCategories as category>
             <option>${category.category}</option>
             </#list>
         </select>
         <@spring.showErrors "<br>"  />
        </div>
      </div>
      <div class="control-group">
        <label class="control-label">Description</label>
        <div class="controls">
          <textarea id="description" name="description" class="span5" rows="3"></textarea>
          <@spring.showErrors "<br>"  />
        </div>
      </div>
      <div class="control-group">
        <label class="control-label">Links</label>
        <div class="controls">
          <textarea id="links" name="links" class="span5" rows="3"></textarea>
          <@spring.showErrors "<br>"  />
        </div>
      </div>
      <div class="form-actions">
        <button id="createButton" name="createButton" class="btn btn-primary" type="submit">Create</button>

      </div>
    </fieldset>
  </form>

    <a class="btn" href="courses.html">Cancel</a>
</div>

.错误{
颜色:#ff0000;
}
.errorblock{
颜色:#000;
背景色:#ffEEEE;
边框:3倍实心#ff0000;
填充:8px;
利润率:16px;
}
创建课程
${eMail}
名称
类别
${category.category}
描述
链接
创造

直到这一切发生

<#import "/spring.ftl" as spring />
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<link rel="stylesheet" type="text/css" href="./css/style.css"/>
</head>
 <body>
 <div class="container">
  <header>
    <h1>
      Create Course
      <div class="logout">
        <span id="currentUserLogin">
          ${eMail}
        </span>
        <a href="logout.html">
          <i class="icon-off"></i>
        </a>
      </div>
    </h1>
  </header>

  <form  action="create" method="POST"/>
   <fieldset>
    <@spring.bind "сreateCourseDTO" />
    <@spring.showErrors '*', 'errors' />

      <div class="control-group">   
      <label class="control-label">Name</label>
        <div class="controls">  

          <@spring.formInput "createCourseDTO.name" ""/>
        <@spring.showErrors  '<br>',"error" />

        </div>
      </div>
       <div class="control-group">

      <label class="control-label">Category</label>
        <div class="controls">
           <@spring.formSingleSelect "createCourseDTO.category" categoryList "" />
            <option></option>
             <#list listCategories as category>
             <option>${category.category}</option>
             </#list>
         </select>
            <@spring.showErrors "createCourseDTO.category","error" />
        </div>
      </div>

      <div class="control-group">
      <label class="control-label">Description</label>
        <div class="controls">  
            <@spring.formInput "createCourseDTO.description"/>
            <@spring.showErrors "createCourseDTO.description","error" />
        </div>
      </div>
     <div class="control-group">
          <label class="control-label">Links</label>
        <div class="controls">
         <@spring.formInput "createCourseDTO.links"/>
        <@spring.showErrors "createCourseDTO.links","error" />
        </div>
      </div>
      <div class="form-actions">
        <button id="createButton" name="createButton" class="btn btn-primary" type="submit">Create</button>

      </div>
    </fieldset>
  </form>

    <a class="btn" href="courses.html">Cancel</a>
    </div>
    </body>
   </html>

创建课程
${eMail}
名称
类别
${category.category}
描述
链接
创造
抛出错误

==>assignment:status=springMacroRequestContext.getBindStatus(path)[在spring.ftl的第120行第9列] 在用户指令bind中[在spring.ftl的第159行第5列] 在用户指令spring.formInput中[在第33行第15列的pages/create.ftl中]

在线

我已经把垃圾桶修好了

<bean id="viewResolver"  class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"
    p:cache="true" p:prefix="/pages/" p:suffix=".ftl" p:exposeSpringMacroHelpers="true"/>