Javascript 将表单字段值传递给WebSpherePortal6.1中的portlet:renderURL标记的参数

Javascript 将表单字段值传递给WebSpherePortal6.1中的portlet:renderURL标记的参数,javascript,jsp,encoding,websphere-6.1,websphere-portal,Javascript,Jsp,Encoding,Websphere 6.1,Websphere Portal,我正在为WebSpherePortal6.1开发一个portlet,使用JSP/JSTL、纯javascript、无AJAX框架,使用一个JSP显示发送反馈表单,并在提交时重定向到另一个JSP,向用户显示操作的成功 我使用javascript通过使用document.getElementById()函数获取表单字段的值。例如: var valorAsunto = document.getElementById("asunto").value; 其中“asunto”是表单中文本字段的ID。此外,

我正在为WebSpherePortal6.1开发一个portlet,使用JSP/JSTL、纯javascript、无AJAX框架,使用一个JSP显示发送反馈表单,并在提交时重定向到另一个JSP,向用户显示操作的成功

我使用javascript通过使用
document.getElementById()
函数获取表单字段的值。例如:

var valorAsunto = document.getElementById("asunto").value;
其中“asunto”是表单中文本字段的ID。此外,我的表格具有以下结构:

<form name="formularioCorreo" id="formularioCorreo" method="post" action="<portlet:renderURL><portlet:param name="nextTask" value="sendFeedback"/></portlet:renderURL>">
然后我得到以下字符串:

<portlet:renderURL><portlet:param name="nextTask" value="sendFeedback"/><portlet:param name="asunto" value="this is a sample subject"/></portlet:renderURL>
这只是我的portlet中的一个新JSP,而不是另一个门户页面。我确实使用
request.getParameter()
从我的
doview()
获取表单字段的值:

如果我的表单中有上述字段,我认为没有必要包含隐藏字段。事实上,我试图做的是将用户在这些字段中输入的值作为请求参数传递,但通过这种方式获得的值如下所示:

var valorAction = valorAction.replace(/&lt;/g,"<").replace(/&gt;/g,">");
subjectFeedback: "'+valorAsunto+'"
bodyFeedback: "'+valorMensaje+'"
emailFeedback: "'+valorEmailFeedback+'"
当使用“+”连接时,我得到上述值;当我使用
StringBuffer
时,我得到以下值:

subjectFeedback: "'); buffer.append(valorAsunto); buffer.append('"
bodyFeedback: "'); buffer.append(valorMensaje); buffer.append('"
emailFeedback: "'); buffer.append(valorEmailFeedback); buffer.append('"
是否有人知道将该参数值“注入”到renderURL的其他方法

关于这个主题,有两个IBM指南


您如何重定向到其他页面?它是一个不同的门户页面还是portlet中的一个新JSP页面?
您不需要向呈现URL注入任何参数。具有一个窗体,其操作目标为renderURL。现在,要将信息传递给portlet的
doView()
方法,可以在表单中设置隐藏字段,然后使用JavaScript填充这些字段,然后提交表单。在
doView()
方法中,您可以使用
request.getParameter()
来获取参数。

好吧,有时候最明显的事情就是找到解决方案的方法

我忙于寻找导致这种情况的详细原因,但根本没有对此进行检查:

我的表单字段由不同的id正确标识,但没有设置它们的名称属性

在工作伙伴的帮助下,我们可以找到答案,因此在每个表单字段上为name分配相同的id值就成功了

因此,我最终跳过了重新分配操作,因为字段值被设置为请求参数,这是应该的


谢谢您的帮助。

请参阅更新1。谢谢。谢谢你的帮助,但事实上我已经在使用你第一个链接中提到的库了;我的初始JSP和重定向JSP也在同一个portlet中,因此我认为第二个链接在这种情况下不适用。无论如何,谢谢你。
String subjectFeedback = request.getParameter("asunto");
String bodyFeedback = request.getParameter("mensaje");
String emailFeedback = request.getParameter("emailFeedback");
subjectFeedback: "'+valorAsunto+'"
bodyFeedback: "'+valorMensaje+'"
emailFeedback: "'+valorEmailFeedback+'"
subjectFeedback: "'); buffer.append(valorAsunto); buffer.append('"
bodyFeedback: "'); buffer.append(valorMensaje); buffer.append('"
emailFeedback: "'); buffer.append(valorEmailFeedback); buffer.append('"