java - 如何从html页面生成下载请求到spring mvc的 Controller

标签 java html spring-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 页面上有一个下载按钮。单击此按钮时,请求将通过 Spring MVC 框架的 Controller 以及“enrollmentNo”。

在 Controller 类上,我将使用此注册号。

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

响应返回并下载一个文件(由我预先创建的类生成的 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>

然后你的 Controller 需要稍微改变......

@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.
}

关于java - 如何从html页面生成下载请求到spring mvc的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56382767/

相关文章:

java - PHP有Java一样的虚拟机吗?

java - 在 libgdx 中呈现错误的形状? (圆圈显示为菱形)

javascript - 如何在 javascript 中保存和恢复选择范围?

spring - 此应用程序没有明确的映射/错误

java - 隐藏敏感信息作为回应

java - 将 hibernate 属性配置文件移到项目之外?

java - Spring MVC MongoDB 集成

javascript - 在 html 中使用上传的 csv 文件

javascript - 删除本地存储

java - Struts 排除带有 Spring 的图案