java - 从链接中的 servlet 发送值到 jsp 页面

标签 java jsp servlets url-parameters

我需要将重置密码链接从我的 servlet 发送到我的 jsp 页面。

我正在生成 html 消息并将其作为电子邮件发送给请求更改密码的用户。

一旦他点击该链接,它将获取链接中的参数并打开 Reset-Password-Page.jsp

所以,这就是我所拥有的......

SendEmail.java

...
String server = "localhost";
int randNum = 25364;
String practiceName = "blueCross";
msg.setContent("<p>Hi there,</p><br /><a>We received a request to reset your password. <br />To reset your password and access your account, click the link below.</a><br />"
                        +"<a href=\"<%= server%>:8080/RSIwork/ConfirmedResetPasswordPage.jsp?randNum=<%= randNum%>&practiceName=<%= practiceName%>\" Click Here </a>",
                        "text/html" );
        Transport.send(msg);
...

这会生成网址:

http://localhost:8080/RSIwork/ConfirmedResetPasswordPage.jsp?randNum=257&&practiceName=usr

这很好,但我没有在我的 servlet 中获取这些参数...

ConfirmedResetPasswordPage.jsp

<form id="frmLogon" action="changePasswordLDAP" method="post">
    <table> 
        <tr>
            <td class="style2">Username:</td>
            <td><input id="username" type="text" name="userName"  autocomplete="off" required/></td>
        </tr>
        <tr>
            <td class="style2" >New Password:</td>
            <td><input id="rdNewPassword" type="password" name="newPassword"required/>             </td>
        </tr>
        <tr>                                                   
            <td><input id="practiceName" type="hidden" name="practiceName" value="<%request.getParameter("practiceName");%>"/></td>
        </tr> 
        <tr>
            <td><input id="randNum" type="hidden" name="randNum" value="<%request.getParameter("randNum");%>"/></td>
        </tr>   

changePasswordLDAP.java

String practiceName = request.getParameter("practiceName");
String userName     = request.getParameter("userName");
String newPassword  = request.getParameter("newPassword");
String randNum      = request.getParameter("randNum");
System.out.println(practiceName  + userName + newPassword + randNum);

但这不会打印 randNum 和practicename

有人可以告诉我我是否在做任何事情吗?我一定是……

最佳答案

正如 @JB Nizet 在评论中指出的:

<%request.getParameter("practiceName");%>

实际上应该是:

<%= request.getParameter("practiceName") %>

注意添加的“=”和删除的“;”。

除此之外,要检查此类错误,请单击 Web 浏览器中的第二个按钮并选择检查元素。然后在 html 中搜索您要调试的代码部分,看看它是否正确显示。

在这种情况下,它看起来像这样:

<input id="practiceName" type="hidden" name="practiceName" value/>

而不是:

<input id="practiceName" type="hidden" name="practiceName" value="practiceNameValue"/>

关于java - 从链接中的 servlet 发送值到 jsp 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25327797/

相关文章:

java - 在 com.spring.schoolmanagement.model.Subject 类型上找不到属性 'id'

html - 如何在 JSP 中动态包含 HTML 文件?

java - 如何获取第n个随机的 "nextInt"值?

java - JPA/MySQL 造成错误的精度和规模

java - 具有某些条件的 Hibernate 计数行

java - 为什么我不能使用 <jsp :getProperty> without <jsp:useBean>?

java - 使用已配置的 JAAS 主题来验证 HttpURLConnection?

java - 为什么单例设计模式中对象的访问器方法必须是“静态的”?

javascript - 打开包含预填充字段的对话框(单击编辑链接后)

java - HttpServlet中如何进行大数据处理?