gpt4 book ai didi

java - 如何在liferay portlet中发送POST?

转载 作者:行者123 更新时间:2023-12-02 20:10:33 25 4
gpt4 key购买 nike

嗨,我开始学习 liferay 并遇到一个问题。我无法从 jsp 在 portlet 中发送 POST。

在jsp中我有:

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<portlet:defineObjects />

<div>
<form action="HelloWorld" method="post" enctype="multipart/form-data">
<div id="up">
<input id="fileUpload1" type="button" name="filename" value="Привет">
</div>
</form>
</div>

在 portlet 中:

public class HelloWorld extends GenericPortlet {
protected void doGet(ActionRequest request,
ActionResponse response) throws ServletException, IOException
{
// reading the user input
//String color= request.getParameter("color");
HttpServletResponse servletResponse = PortalUtil.getHttpServletResponse(response);
PrintWriter out = servletResponse.getWriter();
out.println("<HTML>");
out.println("<HEAD <TITLE> Upload4 </TITLE> </HEAD>");
out.println("<BODY>");
out.println("<FORM action = \"HelloWorld\" method = \"post\" enctype = \"multipart/form-data\">");
out.println("<div id='up'>");
out.println("Hello World!!");
out.println("<input id='fileUpload1' type='button' name='filename' value='Привет'>");
out.println("</div>");
out.println("</FORM>");
out.println("</BODY>");
out.println("</HTML>");
}
}

我哪里可能会出错?我要在 portlet 的 XML 文件中写入一些内容吗?

最佳答案

这在很多层面上都是错误的 - 抱歉 - 我不知道从哪里开始:

  • 您应该发帖至 <portlet:actionURL /> ,而不是“HelloWorld
  • 您应该实现processAction而不是doGet (这听起来很像 servlet)
  • 您不得访问原始 HttpServletRequest在您的操作处理程序中以便写入内容
  • 在操作处理中,您只需处理操作,在渲染阶段,您将渲染所需的 HTML
  • 您生成的 HTML 不包含 <html> , <head> ,但只是门户将嵌入页面的一部分
  • 我觉得我还错过了一些事情......

我建议从一些教程开始 - 例如 Liferay in Action书 - 获取基本概念。

关于java - 如何在liferay portlet中发送POST?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11186029/

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