use*_*702 3 java forms spring-mvc http-headers spring-boot
春天靴子我很新.所以我问的问题可能是因为我错过了一些东西.我使用spring boot 1.3和freemarker来构建一个网站.当我提交表格(我没有填写的某些属性,这是我需要的情况)时,我收到"400错误请求".但是,当我填写表单的所有属性并提交时,它可以工作.那么,原因是什么?我该如何解决?
表单是以下代码.
<label for="steelName" >??:</label>
<input type="text" id="steelName" name="steelName" placeholder="??" value="${steelName!}" required><br/>
<label for="steelCode" >??:</label>
<input type="text" id="steelCode" name="steelCode" placeholder="??" value="${steelCode!}" required><br/>
<label for="basic_price" >??:</label>
<input type="text" id="basicPrice" name="basicPrice" placeholder="2000" value="${basicPrice!}" required>
<label>?</label><br/>
<label for="steel_factory" >??:</label>
<input type="text" id="steelFactory" name="steelFactory" placeholder="????" value="${steelFactory!}" >
<label for="city" > ??:</label>
<input type="text" id="city" name="city" placeholder="??" value="${city!}" >
<br/>
<label for="width" >????:</label>
<input type="text" id="lowWidth" name="lowWidth" placeholder="1.0" value="${lowWidth!}" >
<label for=""> - </label>
<input type="text" id="highWidth" name="highWidth" placeholder="1.6" value="${highWidth!}" >
<label for=""> m </label>
<label for="width_step"> ?????</label>
<input type="text" id="widthStep" name="widthStep" placeholder="1.0" value="${widthStep!}" >
<label for=""> m </label>
<label for="width_price"> ?????</label>
<input type="text" id="widthPrice" name="widthPrice" placeholder="1.0" value="${widthPrice!}" >
<label for=""> ? </label>
</br>
<label for="thickness" >????:</label>
<input type="text" id="lowThickness" name="lowThickness" placeholder="1.0" value="${lowThickness!}" >
<label for=""> - </label>
<input type="text" id="highThickness" name="highThickness" placeholder="1.6" value="${highThickness!}" >
<label for=""> cm </label>
<label for="thickness_step"> ?????</label>
<input type="text" id="thicknessStep" name="thicknessStep" placeholder="1.0" value="${thicknessStep!}" >
<label for=""> cm </label>
<label for="thickness_price"> ?????</label>
<input type="text" id="thicknessPrice" name="thicknessPrice" placeholder="1.0" value="${thicknessPrice!}" >
<label for=""> ? </label>
</br>
<button type="submit">??</button>
</form>
Run Code Online (Sandbox Code Playgroud)
Controller.java
@RequestMapping(value = "/admin/add/steel", method = RequestMethod.POST)
public String addSteel(@ModelAttribute("steel")Steel steel, Model model) {
log.info("add "+steel.getSteelName()+" info.");
//model.addAttribute(FormAuthenticationFilter.DEFAULT_USERNAME_PARAM, userName);
steel = steelService.save(steel);
model.addAttribute("steel", steel);
return "steel/detail";
}
Run Code Online (Sandbox Code Playgroud)
钢铁实体
@Entity
@Table(name = "t_steel")
public class Steel extends IdEntity {
@Column(name = "steel_name", unique = true)
private String steelName;
@Column(name = "steel_code", unique = true)
private String steelCode;
@Column(name = "basic_price", unique = true)
private int basicPrice;
@Column(name = "steel_factory", nullable = true)
private String steelFactory = null;
@Column(name = "city", nullable = true)
private String city = null;
@Column(name = "low_width", nullable = true)
private Double lowWidth = null;
@Column(name = "high_width", nullable = true)
private Double highWidth = null;
@Column(name = "width_step", nullable = true)
private Double widthStep = null;
@Column(name = "width_price", nullable = true)
private Integer widthPrice = null;
Run Code Online (Sandbox Code Playgroud)
问题:
Dan*_*oie 14
将以下属性添加到Spring启动配置中logging.level.org.springframework.web=DEBUG.使用这样的日志级别,您将有详细说明错误,解释400的原因.
您也可以在类路径中删除logback.xml(例如src/main/resources)并添加此appender:
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<logger name="org.springframework.web" level="DEBUG" />
<root level="info">
<appender-ref ref="STDOUT" />
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud)
祝好运.
| 归档时间: |
|
| 查看次数: |
9025 次 |
| 最近记录: |