Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/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
Java SpringMVC:如何绑定表单数据以显示在另一个页面上?_Java_Spring Boot_Spring Mvc_Controller_Spring Form - Fatal编程技术网

Java SpringMVC:如何绑定表单数据以显示在另一个页面上?

Java SpringMVC:如何绑定表单数据以显示在另一个页面上?,java,spring-boot,spring-mvc,controller,spring-form,Java,Spring Boot,Spring Mvc,Controller,Spring Form,我对Java和Spring非常陌生。我有一个表格,收集要处理的数据。我在初始页面上的表单。我希望表单数据出现在名为records.jsp的第二个页面中 这是我的init.jsp页面,其格式为 <!-- Beginning of action 'compare' form --> <form:form action="compare" method="POST" modelAttribute="dc

我对Java和Spring非常陌生。我有一个表格,收集要处理的数据。我在初始页面上的表单。我希望表单数据出现在名为records.jsp的第二个页面中

这是我的init.jsp页面,其格式为

    <!-- Beginning of action 'compare' form -->
            <form:form action="compare" method="POST" modelAttribute="dcf"> 
                <table class="table table-responsive">
                    <tr>
                        <td>DB Source:</td>
                        <td>
                            <form:select id="sourceDbSelection" path="srcDb">
                                <form:option value="NONE" label="-Select-"/>
                                <form:options value="" items="${srcDbLst}"  />
                            </form:select>
                        </td>
                    </tr>
                    <tr>
                        <td>DB Target:</td>
                        <td>
                            <form:select id="targetDbSelection" path="tgtDb" >
                                <form:option value="NONE" label="-Select-"/>
                                <form:options value="" items="${tgtDbLst}" />
                            </form:select>  
                         </td>
                    </tr>
                  
                    <tr>
                        <td>
                            <form:checkboxes title="Business Unit Filter:" path="businessUnit" items="${businessUnitLst}" />
                        </td>
                    </tr>
                    <tr>
                        <td colspan="2" align="center"><input onclick="validate()" id="submit" class="btn btn-primary" type="submit" name="execute" value="RUN" /></td>
公共类DataCompareController{ 受保护的日志记录器log=LogManager.getLogger(this.getClass())

}

private String srcDb;
private String tgtDb;
private List<String> businessUnit;

public String getSrcDb() {
    return srcDb;
}

public void setSrcDb(String srcDb) {
    this.srcDb = srcDb;
}

public String getTgtDb() {
    return tgtDb;
}

public void setTgtDb(String tgtDb) {
    this.tgtDb = tgtDb;
}

public List<String> getBusinessUnit() {
    return businessUnit;
}

public void setBusinessUnit(List<String> businessUnit) {
    this.businessUnit = businessUnit;
}
@Controller
@Autowired
JsonSourceTargetDBService jsonDbSrcConverter;
@Autowired
DataCompareController dataCompareService;
// JSON File data & configs & the 
@RequestMapping("/init")
public ModelAndView showForm(Model model) {
    
    log.debug("starting to prepare src db data...alternative");
    DBInstanceJson dbInst = jsonDbSrcConverter.load();
    model.addAttribute("srcDbLst", dbInst.getSrcDB());
    model.addAttribute("tgtDbLst", dbInst.getTgtDB());
    model.addAttribute("businessUnitLst", dbInst.getBusinessUnitLst());
    DataCompareForm dcf = new DataCompareForm();
    model.addAttribute("dcf", dcf);
    return new ModelAndView("init", "command", new DataCompareForm());
}

@RequestMapping(value="/compare", method = RequestMethod.POST)
public ModelAndView compare(@ModelAttribute("dcf")DataCompareForm dcf, Model model)
{
    
    log.debug("Selection: src {}, target {}, # of business unit {}", dcf.getSrcDb(), dcf.getTgtDb(), dcf.getBusinessUnit().size());
    model.addAttribute("source",dcf.getSrcDb());
    model.addAttribute("target",dcf.getTgtDb());


    //modelAndView.addObject("records", service.getRecord());
    //model.addAttribute("age",dc.getAge());
    //model.addAttribute("id",dcf.getId());
    
    //System.out.println("First Name:"+stu.getFirstname()+"\n"+"Last Name:"+stu.getLastname()+"\n"+"Age:"+stu.getAge()+"\n"+"ID:"+stu.getId());
    System.out.println(dcf.getSrcDb() +" " + dcf.getTgtDb());
    //return new ModelAndView("records", "command", dcf);

    return new ModelAndView("redirect:/records");
}

@RequestMapping("/records")
public ModelAndView viewRecords() {
    
    List<DataCompareForm> list = new ArrayList<DataCompareForm>();
    
    //Manually added to test
    list.add(new HistoricalFileInformation(new Date(), "source" , "target", new String(), new String(), new String()));
    
    return new ModelAndView("records","list",list); 
}
      <!-- RECORD TABLE START -->
    <h2>Historical Data</h2>
    <table class="table">
        <tr>
            <th>Date</th>
            <th>Source</th>
            <th>Target</th>
            <th>File Name</th>
            <th>File Size</th>
        </tr>
        <c:forEach var="dcf" items="${list}">
            <tr>
                <td>${dcf.date}</td>
                <td>${dcf.srcDb}</td>
                <td>${dcf.tgtDb}</td>
                <td>${dcf.download}</td>
                <td>${dcf.fileSize}</td>
            </tr>
        </c:forEach>
    </table>
public class HistoricalFileInformation {

private Date genDate;
private String src;
private String tgt;
private String fileName;
private String fileSize; 
private String urlLink;


public HistoricalFileInformation() {}

public HistoricalFileInformation(Date genDate, String src, String tgt, String fileName, String fileSize, String urlLink) {
    this.genDate = genDate;
    this.src = src;
    this.tgt = tgt;
    this.fileName= fileName;
    this.fileSize = fileSize;
    this.urlLink = urlLink;
}

public String getUrlLink() {
    return urlLink;
}
public void setUrlLink(String urlLink) {
    this.urlLink = urlLink;
}
public Date getGenDate() {
    return genDate;
}
public void setGenDate(Date genDate) {
    this.genDate = genDate;
}
public String getSrc() {
    return src;
}
public void setSrc(String src) {
    this.src = src;
}
public String getTgt() {
    return tgt;
}
public void setTgt(String tgt) {
    this.tgt = tgt;
}
public String getFileName() {
    return fileName;
}
public void setFileName(String fileName) {
    this.fileName = fileName;
}
public String getFileSize() {
    return fileSize;
}
public void setFileSize(String fileSize) {
    this.fileSize = fileSize;
}