我试图打开我的表单,点击 HTML 表上的编辑按钮填写每个文本框,我的所有数据都存储在列表中,每一行都有编辑按钮。当我单击编辑时,它将从 restaurant.jsp 页面重定向到 edit_restaurant.jsp 页面。
我的 restuarant.jsp 页面有一个 HTML 表格列表,其中每一行都有编辑按钮,我希望单击该编辑按钮时,我将重定向到 edit_restaurant.jsp 页面,所有数据都可以用绑定的 id 键填充到我的编辑按钮。
我想要的是在另一个jsp按钮中获取按钮的ID。我正在使用liferay自定义mvc portlet,所以任何人都可以指导我如何使它成为可能。
这是我尝试过的代码片段。
以下是我的编辑按钮栏:
<td><input type="submit" id=<%=temprest.getPrimaryKey()s%> onclick="return getbuttonId('<%=temprest.getPrimaryKey() %>')" value="edit" /></td>
...并单击该按钮将调用以下 Javascript:
<script type="text/javascript">
function getbuttonId(sid){
// document.editform.action=url;
// document.editform.submit();
var url="<%= editURL.toString()%>";
window.location.href = url+"?sid="+sid;
return false ;
}
</script>
我的 portlet 操作 url 如下:
<portlet:actionURL name="editRestaurant" var="editURL">
</portlet:actionURL>
...我通过 portlet 操作 url 调用的方法在我的操作类中:
public void editRestaurant(ActionRequest reqeust,ActionResponse response) throws Exception
{
String str= reqeust.getParameter("sid");
long l=Long.valueOf(str);
//Retriev table data using Primary key
restaurant rest=restaurantLocalServiceUtil.getrestaurant(l);
//Set Attribute which has all values of specified pk.
reqeust.setAttribute("edit",rest );
// Redirect to Jsp page which has Update form.
response.setRenderParameter("jspPage","/jsps/edit_restaurant.jsp");
}
单击编辑功能时出现这样的错误
java.lang.NoSuchMethodException: emenu.advertise.portlet.RestaurantPortlet.editRestaurant?sid=5(javax.portlet.ActionRequest, javax.portlet.ActionResponse)
有人可以指导我解决这个问题吗?
@
在这里我希望分配给我的按钮 id 的 sid 值应该在页面重定向之前转移到这个字符串值
<%
String restId=request.getParameter("sid");
//can i call sid value of javascript function getbuttonId() here
%>
<portlet:actionURL name="editRestaurant" var="editURL">
<portlet:param name="key" value="<%=restId %>"/>
</portlet:actionURL>