我创建了一个jsp表单,它想将数据发送到两个表。这意味着我创建了两个模型类,所以表单应该引用这两个模型类。我试过了,但是失败了。如何从一个jsp页面获得两个模型属性并分配给一个控制器。提前感谢。
`@Entity
@Table(name = "survey")
public class Survey {
// all anotations and getters and setters are omitted
private int surveyId;
private String surveyName;
}
@Entity
@Table(name = "preferred")
public class Survey {
// all anotations and getters and setters are omitted
private int preferredId;
private String preferredClass;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="surveyId")
private Survey survey;
}
jsp表单
<spring:url value="/survey/save" var="saveURL"></spring:url>
<form:form action="${saveURL}" method="POST" modelAttribute="surveyForm">
//Survey model class
<form:hidden path="surveyId" />
<form:input path="surveyName" />
//preferredClass model class
<form:input path="preferredClass">
<button type="submit" >Submit</button>
</form:form>
控制器
@RequestMapping(value = "/save", method = RequestMethod.POST)
//here I need to get ModelAttribuete of Survey and preferredClass
public ModelAndView saveSurvey( @ModelAttribute("surveyForm") Survey survey ,.........// how to get attributes of preferredClass ) {
surveyService.saveOrUpdate(survey);
return new ModelAndView("redirect:/survey/list");
}`
我是这样认识到您的问题的:您的控制器中需要一个api来返回两种类型的数据。
结果如何。JAVA
public interface IActionResult<T> {
}
ActionResultBase.java
public abstract class ActionResultBase<T> implements
IActionResult<T>,Serializable {
}
行动结果。JAVA
public class ActionResult<T> extends ActionResultBase<T> {
}
并将您的实体更改为
public class Survey1 implements Serializable,IActionResult<Survey1>
public class Survey2 implements Serializable,IActionResult<Survey2>
在你的控制器里
@RequestMapping(value = "/save", method = RequestMethod.POST)
//here I need to get ModelAttribuete of Survey and preferredClass
public ResponseEntity<IActionResult> saveSurvey( @ModelAttribute("surveyForm") Survey survey)
{
if(your desired condition 1){
//do your Business
return new ResponseEntity<IActionResult>(survay1, HttpStatus.OK(any things you like);
}
if(your desired condition 2){
//do your Business
return new ResponseEntity<IActionResult>(survay2, tpStatus.OK(any things you like);
}
}
我希望这就是你要找的。
问题内容: 我在MySQL数据库中有几个临时表,它们共享相同的架构并具有动态名称。我将如何使用Django与这些表进行交互?一个模型可以从多个表中提取数据吗? 问题答案: 我相信,你可以创建一个工厂函数,该函数将通过动态db_table返回你的模型。 编辑:每次调用此函数时,Django不会创建类属性的新实例。为它创建一个新实例取决于类的名称(Django必须将其缓存在某个地方)。元类可用于在运行
我正在尝试将一个jsp表单放入fancybox,我的站点功能正常,所以我知道我的大部分配置都是正确的。我还做了一个图像的样例测试,它工作得很好,但是对于一个表单,我有问题。下面是代码:
当我尝试提交表单时,tomcat抛出“客户端发送的请求在语法上不正确”这是我的jsp表单。请帮帮我。 容器: DTO: 我正在尝试从用户列表中获取文章类别
当需要处理复杂数据,很可能你需要使用多个不同的模型来收集用户提交的数据。 举例来说,假设用户登录信息保存在 user 表,但是用户基本信息保存在 profile 表, 你可能需要同时使用 User 模型和 Profile 模型来获取用户登录信息和基本信息。 使用 Yii 提供的模型和表单支持,解决这样的问题和处理单一模型并不会有太大的区别。 下面,我们将为你展示怎样创建一个表单并同时处理 User
问题是我的控制器中有一个spring表单和两个具有相同属性的@ModelAttribute参数。表单的“commandName”参数设置为我的modelAttributes名称之一。令我惊讶的是,不仅将属性映射到用“commandName”指定的模型属性,还映射到第二个属性。 我还没有找到确切的解决方案,除了和我的相似之处:Spring-form多个表单具有相同的模型属性名称属性 但在我的例子中,
ModelForm class ModelForm 如果你正在构建一个数据库驱动的应用,那么你应该会有与Django 的模型紧密映射的表单。举个例子,你也许会有个BlogComment 模型,并且你还想创建一个表单让大家提交评论到这个模型中。 在这种情况下,在表单中定义字段将是冗余的,因为你已经在模型中定义了字段。 基于这个原因,Django 提供一个辅助类来让你可以从Django 的模型创建表单