动作的参数可以通过两种方式传递,在 servlet 技术中是 http GET 或 POST 请求。但是由于导航栏的某些服务器或浏览器限制,您无法在一个请求中传递所有这些。解决问题的方法是制作表单hidden
输入字段,并提交表单。
<s:set var="myPath">${path}</s:set>
<s:url var="myUrl" namespace="%{#myPath}" action="MaterialStockedAnalysisExport" />
<s:form id="myForm" action="%{myUrl}" method="POST">
<s:hidden name="type"/>
<s:hidden name="startMonth"/>
<s:hidden name="endMonth"/>
<s:hidden name="materialStr"/>
<s:hidden name="companyStr"/>
<s:a id="myLink" href="#">Export</s:a>
<script type="text/javascript">
$(document).ready(function() {
$("#myLink").click(function(event) {
event.preventDefault();
$('input[name=type]').val('byCompany');
$('input[name=startMonth]').val(startMonth);
$('input[name=startMonth]').val(endMonth );
$('input[name=materialStr]').val(ematerialStr);
$('input[name=companyStr]').val(companyStr);
$("#myForm").submit();
});
});
</script>
</s:form>