我有2个jsp页面。在第一个jsp页面中,我使用选择主题的组合框,几个单选按钮用于操作。在这个页面上,我收到了请求。getParameter(“subjectID”)。
最好显示servlet和jsp
<form action="/TutorWebApp/controller" method="POST" name="editTestForm">
<p>
Choose subject
<select name='subject'>
<c:forEach items="${subjects}" var="subject" >
<option value="${subject.key}">
${subject.value.getName()}
</option>
</c:forEach>
</select>
</p>
<input type="radio" name="command" value="add_test">
Add test <br />
<input type="radio" name="command" value="add_subject">
Add subject <br />
<input type="submit" value="OK"/>
</form>
在这个页面中,我从组合框中选择主题。然后选择“添加测试”。在我进入servlet之后
class AddTestCommand implements Command {
private static final String PARAM_TEST_NAME = "testName";
private static final String PARAM_SUBJECT = "subject";
@Override
public String execute(HttpServletRequest request) throws ServletException, IOException {
String page = " ";
String message = " ";
String testName = request.getParameter(PARAM_TEST_NAME);
if (testName != null && (!"".equals(testName))) {
HttpSession session = request.getSession(true);
Integer userID = (Integer) session.getAttribute("userID");
Integer subjectId =
Integer.valueOf(request.getParameter(PARAM_SUBJECT));
if(AddTestLogic.addTest(userID, subjectId, testName)){
message = "Success";
} else{
message = "This test already exist";
}
request.setAttribute("result", message);
}
page = ResourceBuilder.getPropertyManager(PropertyEnum.JSP_PAGE).
getProperty("path.page.addtest");
return page;
}
}
在那里,我可以根据请求获得主题的值。getParameter(“主题”) near-转到下一个jsp
<form action="/TutorWebApp/controller" method="POST" name="addTestForm">
<input type="hidden" name="command" value="add_test" />
Name of new test:
<input type="text" name="testName" value=""/>
<input type="submit" value="Add test"/>
</form>
在jsp中输入数据后,我再次转到同一个servlet。但我失去了价值要求。getParameter(“主题”)。
我尝试使用HttpSession,但在第一页上我发送了Map。并获得请求,只需从地图中选择主题。
我不知道如何解决这个问题。谢谢
您可以使用隐藏字段为下一个请求保留请求参数。请求参数可通过EL中的${参数}
映射获得。因此,这应该做到:
<input type="hidden" name="subject" value="${fn:escapeXml(param.subject)}" />
注意,我使用JSTL:escapeXml()来转义HTML实体;这将防止可能的XSS攻击。
我回来时问了同样的问题,但这次有更多的记录。我有一个包含许多servlet和JSP的web应用程序。应用程序有一个登录选项。在登录servlet中,我启动一个新会话,在会话中放置一些信息后,我转到一个JSP。 登录。java相关代码: 转发后,我得到一个名为Insert.jsp的Jsp页面,在那里我得到会话属性。 插入jsp相关代码: 在这之后,我有一个表单将我引导到servlet Adaugar
问题内容: 我正在编辑搜索表单,并尝试防止数据库中的特殊字符。在JSP搜索表单中,(多重选择)下拉列表允许用户选择将在查询中使用的描述(注意:description是字符串列表): 提交表单时,页面会动态生成URL,该URL在URL中使用查询参数(丑陋,我知道,双手被绑住了)。这是描述段的摘要。 我在数据库中有一个测试条目,其描述是: AAA`〜!@#$%^&*()_ +-= {} | [] \:
我有一个名为campaignMaint.java的Servlet,其中有一个doGet和一个doPost,还有一个名为jcampaignMaint.JSP的JSP。在输入URL/campaignMaint?campaign=Treasury时,doGet将数据构建为数组并执行: jcampaignMaint.jsp然后构建一个包含一些可修改字段的表,如下所示: 单击Submit按钮时,HTTP P
我有一个login JSP,它从文本框中的用户获取用户名/密码,并在提交时使用POST方法将用户名/密码参数转发到login Servlet。 现在我正在使用介于两者之间的Paros代理(作为中间人攻击)来陷阱参数。从JSP接收的参数在Paros中以纯文本形式捕获。
我有2个问题 1)我有一个login.jsp页和索引页。一旦我验证了用户(在servlet ie中),用户将被重定向到index.jsp页面。我用servlet的这条线重定向它 这个过程运行良好。但是当我刷新页面时,我会被重定向回登录页面。另外,我注意到在index.jsp页面上,我得到的名字而不是index.jsp,即我的servlet名称得到displayed.for这样的例子得到代替显示 2
我通过AJAX请求从数据库中获取表数据。我需要更改AJAX请求中的数据参数并刷新表。 我正在用命令刷新表格 我有以下代码 但是在AJAX重新加载之后,会向服务器发送原始请求,并忽略新的参数值。我试图通过函数、全局变量和浏览器存储将数据传递给请求,但这些方法都不起作用。在互联网上,我找到了解决问题的方法 功能,但我不知道如何使用它。 我的jQuery数据表版本是1.10.7。 我还尝试使用以下代码销