首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用requestScope将值从jsp传递到portlet

如何使用requestScope将值从jsp传递到portlet
EN

Stack Overflow用户
提问于 2015-04-14 03:45:51
回答 1查看 792关注 0票数 0

我试图将jsp中的一些值发送给portlet类,我使用jstl来实现这一点,我的要求是使用requestScope在portlet.Here中传递值--我看到当我使用requestScope在portlet中创建URL时,它运行良好,但是如果传递的值不起作用,我就会发布我的代码--我到目前为止所做的工作

代码语言:javascript
复制
<fmt:setBundle basename="Language-ext"/>
<form action="<c:out value='${requestScope.registerUserActionUrl}'/>" method="POST">
<table width="200px">
 <tr>
  <td colspan="2">
    <font color="#FF0000"><c:out 
       value="${requestScope.errorMsg}"/></font>
</td>
</tr>
<tr>
  <td><fmt:message key="label.firstName"/></td>
    <td><input type="text" name="firstName" value="${requestScope.User.firstName}"></input></td>
 </tr>
 <tr>
<td>&nbsp;</td>
</tr>
 <tr>
<td><fmt:message key="label.lastName"/></td>
<td><input type="text" name="lastName" value="${requestScope.User.lastName}"></input></td>
 </tr>
 <tr>
<td>&nbsp;</td>
 </tr>
 <tr>
<td><font color="#FF0000"><b>*</b></font>&nbsp;<fmt:message key="label.email"/></td>
<td><input type="text" name="email" value="${requestScope.User.email}"></input>     </td>
</tr>
 <tr>
<td>&nbsp;</td>
</tr>
<tr align="center">
 <td colspan="2">
    <input type="submit"/>
    &nbsp;
  <a href="<c:out value='${requestScope.resetRenderUrl}'/>">
    <b><fmt:message key="label.reset"/></b>
  </a>
</td>
</tr>

这是我的豆类

代码语言:javascript
复制
public class User implements Serializable{

/**
 * 
 */
private static final long serialVersionUID = -5729328658617182010L;
private String firstName;
private String lastName;
private String email;

public User(String firstName,String lastName,String email){

    super();
    this.firstName = firstName;
    this.lastName = lastName;
    this.email = email;
}

public String getFirstName() {
    return firstName;
}

public void setFirstName(String firstName) {
    this.firstName = firstName;
}

public String getLastName() {
    return lastName;
}

public void setLastName(String lastName) {
    this.lastName = lastName;
}

public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}

这是我捕捉值的portlet

代码语言:javascript
复制
@ProcessAction(name = "registerUserAction")
public void registerUser(ActionRequest request, ActionResponse response)
        throws PortletException, IOException {
    String email = request.getParameter("email");
    System.out.println("Email :"+email +","+request.getParameter("firstName"));
    // --set the information entered by the user on the registration

但是我的电子邮件和firstName .Somebody都是空的,请帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-14 13:10:35

与Liferay 6.2相关的答案

默认情况下,Liferay6.2要求给定portlet的请求参数以portlet命名空间为前缀。在普通HTML中,需要使用<portlet:namespace/>标记为每个请求参数/表单字段指定名称空间:

代码语言:javascript
复制
<input type="text" name="<portlet:namespace/>firstName" value="${requestScope.User.firstName}">

不要忘记所需的TLD导入:

代码语言:javascript
复制
<%@taglib prefix="portlet" uri="http://java.sun.com/portlet" %>

只有名称空间参数对portlet可见(通过标准portlet )。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29618814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档