gpt4 book ai didi

java - 如何从一个jsp中的下拉列表中获取选定的值到liferay portlet引用中的java Controller 类

转载 作者:太空宇宙 更新时间:2023-11-04 06:07:56 25 4
gpt4 key购买 nike

我使用 Liferay 作为平台。我创建了具有 2 个值的下拉列表(true/false(默认选择“false”)),一旦我单击更新按钮,它应该在首选项字段(即下拉列表)中更新。我正在使用下面的代码,但它给出了空值。我无法读取/获取从 EditPreferences.jsp 到 EditController.java 的选定下拉值。如果可以将值从 Editpreferences.jsp 渲染到 EditConytroller 类,那么这对我来说应该没问题。感谢您的任何建议。

这是我在 EditPreferences.jsp 中的代码

<portlet:defineObjects />
<script type="text/javascript" src="js/jquery.js"></script>
<%@page import="javax.portlet.PortletPreferences" %>
<%
PortletPreferences pref = renderRequest.getPreferences();

String IsCollege = pref.getValue("IsCollege","");
Locale locale = renderRequest.getLocale();
ResourceBundle bundle = portletConfig.getResourceBundle(locale);
String updated = (String) request.getAttribute ("preferences-updated");
if (updated != null && updated.equals ("true")) {

%>

<div class="portlet-msg-info">
<liferay-ui:message key="preferences-update-successful" />
</div>
<%
}
%>

<portlet:actionURL var="actionOneMethodURL">

<portlet:param name="action" value="actionOne"></portlet:param>

</portlet:actionURL>

<form method="POST" action="${actionOneMethodURL}" >
<tr>
<td>
IsCollege:
</td>

<td>
<select id="IsCollege">
<option value="false" selected="selected">False</option>
<option value="true">True</option>
</select>
</td>
</tr>
<tr>
<td colspan=2>
<input type="submit" id="updateBtn" value="Update">
</td>
</tr>
</form>

EditController.java

 @ActionMapping(params = "action=actionOne")
public void setPublisherPref(ActionRequest request, ActionResponse response)
throws Exception {
PortletPreferences pref = request.getPreferences();

String IsCollege = ParamUtil.getString(request, "IsCollege", "");
pref.setValue("IsCollege", IsCollege);
pref.store();

request.setAttribute("preferences-updated", "true");

}

最佳答案

选择标签缺少名称属性。指定的 id 不会影响参数绑定(bind)。此外,该名称必须以 portlet 命名空间为前缀。

<select name="<portlet:namespace/>IsCollege">

下次您可能想要使用 aui 或 liferay-ui 标签库,而不是手动渲染完整的 HTML。

关于java - 如何从一个jsp中的下拉列表中获取选定的值到liferay portlet引用中的java Controller 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29075904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com