对于这些类型的问题,这是一个广泛的规范问答帖.
我正在尝试编写一个Spring MVC Web应用程序,用户可以在其中添加电影名称到内存中的集合.它的配置是这样的
public class Application extends AbstractAnnotationConfigDispatcherServletInitializer {
protected Class<?>[] getRootConfigClasses() {
return new Class<?>[] {};
}
protected Class<?>[] getServletConfigClasses() {
return new Class<?>[] { SpringServletConfig.class };
}
protected String[] getServletMappings() {
return new String[] { "/" };
}
}
Run Code Online (Sandbox Code Playgroud)
和
@Configuration
@ComponentScan("com.example")
public class SpringServletConfig extends WebMvcConfigurationSupport {
@Bean
public InternalResourceViewResolver resolver() {
InternalResourceViewResolver vr = new InternalResourceViewResolver();
vr.setPrefix("WEB-INF/jsps/");
vr.setSuffix(".jsp");
return vr;
}
}
Run Code Online (Sandbox Code Playgroud)
有一个单一@Controller类在com.example包
@Controller
public class MovieController {
private final CopyOnWriteArrayList<Movie> …Run Code Online (Sandbox Code Playgroud) 我的问题是,是否有必要对表单进行' commandName '绑定,对输入进行' path '绑定?
我有一个工作流程,需要用户从一系列的ajaxy选择框中选择数据.因此表单不能直接映射到任何模型.为了适应这种形式而添加另一个模型似乎毫无意义,而这个表单上的所有内容都将由ajax驱动.现在我知道我总是可以写一个经典的表单并选择标签,但我想在这里利用spring标签,例如:
<form:options items="${list}" itemLabel="name" itemValue="id"/>
Run Code Online (Sandbox Code Playgroud)
这使我可以轻松填写表单项.而且我想保持项目的一致性并使用spring标签.
我想知道关于这个主题的想法和意见.
谢谢!
PS:我来自铁轨背景上的红宝石,并习惯了大量的语法糖:如果问题听起来很愚蠢或回答明显,请原谅我.
我有一个页面jsp,我将使用不同POJO类的许多属性,所以我需要在表单中使用两个commandName.可以在控制器中使用多个@ModelAttribute,那么如果多个commandName不工作又有什么意义呢?
例如,我想插入一个信息,名称和函数,name是类Agent中的一个属性,function是类Activity中的一个属性?我该怎么办?
@RequestMapping(value="/fiche_service",method=RequestMethod.GET)
public ModelAndView Fiche_service(@ModelAttribute Activite activitey,@ModelAttribute Etablissement etabl,ModelMap model) {
Agent ag = new Agent();
return new ModelAndView("FicheService","agent",ag);
}
Run Code Online (Sandbox Code Playgroud)
<form:form
action="${pageContext.request.contextPath}/ajouter_activite"
method="post" commandName="activity" commandName="etabl">
<table id="tabmenu">
<tr>
<td>Fonction :</td>
<td><form:input type="text" class="round default-width-input" path="fonction"/></td>
</tr>
<tr>
<td>Nom d'établissement :</td>
<td><form:input type="text" class="round default-width-input" path="noml"/></td>
</tr>
<tr>
<td>Ville :</td>
<td><form:input type="text" class="round default-width-input" path="villel"/></td>
</tr>
<tr>
<td>Délégation :</td>
<td><form:input type="text" class="round default-width-input" path="cd_reg"</td>
</tr>
<tr>
<td>Date début :</td>
<td><form:input type="text" name="date" class="tcal" value="" path="dateAffect"/></td>
</tr>
<tr>
<td>Date …Run Code Online (Sandbox Code Playgroud)