如何生成从 html 页面到弹簧 mvc 控制器的下载请求



<html>
<head>
<title>Student Registration</title>
</head>
<body>
	<h3 align="center">New Trainee Registration</h3>
	
   		<table align="center" cellpadding="10">
   			<!-- First Name -->
   			<tr>
   				<td>First Name</td>
   				<td>${traineeData.fName}</td>
   			</tr>
   			<!-- Last Name -->
   			<tr>
   				<td>Last Name</td>
   				<td>${traineeData.lName}</td>
   			</tr>
   			<!-- Father's Name -->
   			<tr>
   				<td>Father's Name</td>
   				<td>${traineeData.fatherName}</td>
   			</tr>
   			<!-- Mobile Number -->
   			<tr>
   				<td>Mobile No.</td>
   				<td>${traineeData.mobile}</td>
   			</tr>
   			<tr>
   				<td>Joining Date</td>
   				<td>${traineeData.joiningDate}></td>
   			</tr>
   			<tr>
   				<td>Grade</td>
   				<td>${traineeData.grade}</td>
   			</tr>
   			<tr>
   				<td>Gender</td>
   				<td>${traineeData.gender}</td>
   			</tr>
   			<!-- Course -->
   			<tr>
   				<td>COURSES<br />APPLIED FOR
   				</td>
   				<td>${traineeData.course}</td>
   			</tr>
   			<tr>
   				<td>Joining Date</td>
   				<td>${traineeData.joiningDate}</td>
   			</tr>
   			<!-- Submit and Reset -->
		<tr>
			<td colspan="2" align="center">
				<button type="button" >Generate Certificate</button>
			</td>
	</tr>
	</table>
</body>
</html>

假设我的HTML页面上有一个下载按钮。 单击此按钮时,请求会与"enrollmentNo"一起通过Spring MVC框架的控制器。

在控制器类上,我将使用此注册号。

我有一个班级,它将通过使用学生的注册号获取数据来为学生生成证书。

响应返回并下载一个文件(由我预先创建的类生成的 pdf 文件(

我已经尝试了很多方法,但没有得到我想要的。

@RequestMapping(value = "/generateCertificate")
public void generateCertificate(@RequestParam("traineeData.enrollmentNo") int enrollmentNo) {
    System.out.println("you in /generateCertificate");
    // I don't know what should I return... 
    // please change return type accordingly...
}

我想要我的 HTML 页面上一个名为"生成证书"的按钮。 代码应该简单而正常,Ajax 可以在这里使用。

你的按钮实际上没有做任何事情,很有用。

试试你的按钮周围的这个代码...

<tr>
    <td colspan="2" align="center">
        <form action="/generateCertificate" method="GET">
            <input type="hidden" name="enrollmentNo" value="${traineeData.enrollmentNo}"
            <button type="submit">Generate Certificate</button>
        </form>
    </td>
</tr>

然后您的控制器将需要稍作更改...

@RequestMapping(value = "/generateCertificate")
public void generateCertificate(@RequestParam("enrollmentNo") int enrollmentNo) {
    // The @RequestParam was changed to the name of the param from the form and not the object/value.
}

最新更新