【发布时间】:2017-10-16 13:22:41
【问题描述】:
创建了一个应用程序。页面 A 显示一个包含值列表的下拉列表。如果用户点击特定帐户,将显示图表。我们在帐户下拉列表右侧有类似的按钮。这些是单独的 JSP。如果用户单击页面 A,则选定的帐户名称应移动到这 4 个 jsp 页面。我已经通过 URL 尝试过。但没有得到。请帮忙。
JSP 1
<a id="priorityCallAnalysis" class="item"> <button type ="button" onclick="getPriorityCall()">Priority </button> </a>
<form:form action="somepage" method="post" commandName="somedata"
id="taskDetails" enctype="multipart/form-data">
<div class="row">
<div class="col-md-4">
<div class="form-group">
<label>Choose Account*</label>
<form:select path="accountName" class="form-control"
id="accountName" onchange="getDashboard()">
<form:option value="" label="--select--"></form:option>
<c:forEach items="${accountList}" var="accountName">
<form:option value="${accountName}" label="${accountName}"></form:option>
</c:forEach>
</form:select>
</div>
</div>
</div>
</form:form>
function getPriorityCall()
{
var accountName = $("#accountName").val();
alert(accountName);
window.location="priorityCall.html?accountName="+accountName+"";
}
控制器
@RequestMapping(value="/priorityCall")
public ModelAndView priorityCall(Map<String, Object> model,@RequestParam ("accountName") String accName)
{
System.out.println("entry");
SampleBean template = new SampleBean ();
model.put("template ", template );
List<String> accountList = Service.getAccountList();
model.put("accountList", accountList);
model.put("accName", accName);
return new ModelAndView("analByPrior","","");
}
JSP : analByPrior
<form:form action="#" method="post" commandName="somedata"
id="taskDetails" enctype="multipart/form-data">
<div class="row">
<div class="col-md-4">
<div class="form-group">
<label>Choose Account*</label>
<form:select path="accountName" class="form-control"
id="accountName" onchange="getAssignmentGroups()">
<form:option value="" label="--select--"></form:option>
<c:forEach items="${accountList}" var="accName">
<form:option value="${accName}" selected="true"> ${accName}</form:option>
</c:forEach>
</form:select>
</div>
</div>
</div>
</form:form>
更新 单击优先级按钮时,会调用此控制器,而不是 PriorityCall.. 我不知道你..
@RequestMapping("/priorityCallAnalysis")
public String someAction(@ModelAttribute("accountName") TicketInfo data, Map<String, Object> map,
HttpServletRequest request) {
TicketInfo somedata = new TicketInfo();
map.put("somedata",somedata);
System.out.println(somedata);
System.out.println("acc=" + request.getParameter("accountName"));
/* do some process and send back the data */
map.put("somedata", data);
map.put("accountName", request.getParameter("accountName"));
return "analysisByPriority";
}
【问题讨论】:
-
只是检查一下,在
javascript代码中,priorityCall url 是priorityCall.html,而在控制器中,@RequestMapping值只是/priorityCall,没有.html后缀。对吗? -
我认为是的。我们可以过得很好。 @jlumietu
-
您是否测试过从
js函数中删除.htmlsuffix,只调用"priorityCall?accountName="+accountName+""?我会测试一下,因为这是尝试的最简单的解决方案... -
现在试过了..不工作..这个流程首先是正确的吗??...我很困惑..完全...
-
当您调用 window.location 时,您需要在 url 中为您提供上下文路径,例如 '/
/priorityCall/' + "?accountName=" + accountName 并且没有 html,作为 window .location 将替换浏览器中的 url。
标签: java ajax spring jsp spring-mvc