- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 jQuery/ajax 调用 portlet 的serveResource() 方法。我设法获得了一个在 Pluto 2.0 中工作的简单 JSR-286 portlet,它能够从请求正文中读取 JSON 字符串,从 JSON 创建一个 Java 对象,并将该对象的 toString() 返回给我调用的 JavaScript。然而,当我将同一个 portlet 部署*到 WebSphere Portal 6.1 时,请求正文在到达serveResource() 时为空。
我假设我缺少一些基本的/根本性的东西,所以任何建议将不胜感激。我认为,如果我将 JSON 字符串推送到 URL 参数上,我的示例就可以正常工作,但我现在更愿意避免这种方法,除非我给出了当前方法“不好”的原因。
编辑:*更具体地说,我将相同的 portlet 部署到运行 WSRP Producer 的 WAS7 并通过 WebSphere Portal 6.1 使用该 portlet。
Javascript 片段:
function ajaxPost() {
var url = "<%= testServiceURL %>";
var current = $("input.current").val();
$.ajax(
{
url: url,
contentType: 'application/json; charset=utf-8',
dataType: 'html',
data: "{data: " + current + "}",
type: 'POST',
success: testSuccess,
error: testError
}
);
$("div.trace").append("ajax post fired<br />");
}
function testSuccess(data, textStatus, XMLHttpRequest)
{
$("div.trace").append("testSuccess(): " + data + "<br />");
}
Portlet 片段:
public class TestPortlet extends GenericPortlet {
...
@Override
public void serveResource(ResourceRequest request, ResourceResponse response) throws PortletException, IOException {
String res = "Failed to read body";
boolean bodyRead = true;
StringBuffer sb = new StringBuffer();
String line = null;
try {
BufferedReader reader = request.getReader();
line = reader.readLine();
while (line != null) {
sb.append(line);
line = reader.readLine();
}
reader.close();
} catch (Exception e) {
bodyRead = false;
}
Foo f = null;
if (bodyRead) {
try {
Gson gson = new Gson();
f = gson.fromJson(sb.toString(), Foo.class);
res = "Received: " + f.toString();
} catch (Exception e) {
res = "Failed to convert body into Foo: '" + sb.toString() + "'";
}
}
response.setContentType("text/html");
response.getWriter().println(res);
}
}
最佳答案
终于开始工作了......有点。
通过将我的ajax调用中的contentType参数更改为“application/x-www-form-urlencoded”(并使用不同的方法来表示我的数据),我现在可以在我的WebSphere环境中的帖子正文中使用我的数据,尽管是 URL 参数形式而不是 JSON。
不幸的是,执行此更改会导致 Pluto 中的功能中断。该环境中的请求正文现在为空。
现在要么更改代码以从 request.getParameter() 检索数据(我相信在我的更改下,这在两种环境中都有效,但需要进一步测试),要么查找将在两种环境中生成填充请求正文的 contentType .
关于jquery - 在 WebSphere Portal 6.1 中对 GenericPortlet.serveResource() 的 Ajax 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4972873/
我们正在构建一个以 Websphere 7 作为目标环境的 web 应用程序,它使用 CXF 连接到 web 服务。我们已经使用 Jetty 在本地完成了测试,一切顺利。我们现在正在尝试在 Websp
我是一名 Java 程序员,想要开始使用 Websphere 应用程序服务器。有人可以建议一些好的介绍吗?书籍/文章/链接等 最佳答案 IBM 的红皮书是很好的入门资源,还有另一篇关于 IBM 开发人
我试图在 Websphere LP server.xml 文件中映射我的服务器公共(public) IP 地址,但是当我尝试从外部访问它时,出现连接错误。我尝试给 host="localhost"并尝
我试图在 Websphere LP server.xml 文件中映射我的服务器公共(public) IP 地址,但是当我尝试从外部访问它时,出现连接错误。我尝试给 host="localhost"并尝
在将应用程序从单个 Websphere Application Server 迁移到 Websphere 集群之前,我们应该注意什么 最佳答案 这是我根据经验列出的 list 。它并不完整,但应涵盖最
我已经为 WebSphere 中的容器设置了一些自定义属性,但我不知道如何读取这些属性。我试过 System.getProperty(...),但它是空的。 我看过对 JMX 的引用,但想知道是否有明
我目前正在研究 IBM Websphere Application Server 和 IBM Websphere Process Server 之间的区别? 我知道 Process Server 就像
我正在处理一个应用程序,它需要知道它是在 WAS 上运行还是在 Liberty Profile 上运行。 在 WAS 上,它必须调用 Admin API,但在 Liberty Profile 上,它必
我很难解决“找不到委托(delegate)人...”的问题。我阅读了所有文章,但我已成功将 ear 文件安装到 WAS 8.5 中。 此应用程序要求最终用户进行 LDAP 身份验证才能登录。我的 LD
我正在开发许多用于管理 WAS 基础设施的脚本,我觉得 IBM 的某个人搞砸了 wsadmin故意。这不可能是意外。 这是一个“简单”的例子: for node in AdminConfig.list
我删除了 C:\Program Files (x86)\IBM\WebSphere\AppServer\profiles 中的配置文件,它仍然显示在配置文件管理工具中,如何删除配置文件管理工具中的配置
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 8 年前。 Improv
我有一个 WebSphere 应用程序服务器 8,我在其中部署了一个企业应用程序。现在我想让该应用程序的 Web GUI 可以访问。因此,我设置了一个端口 (9080),添加了一个 Web 容器传输链
是否可以用 Weld 替换 WebSphere 8 的 CDI 提供程序 (OpenWebBeans)?如果做不到这一点,是否有任何方法可以在 WebSphere 中完全禁用 CDI? 我为什么需要这
我有一个带有@local 和@remote 注释的无状态EJB SessionBean。该代码在 weblogic 服务器中运行良好。但是,将其部署到 Websphere 时会出现以下异常。 bm.e
我们正在尝试安装 Websphere 应用程序服务器的补丁。但已经获得了 Websphere 商务服务器的说明。所以只是想知道两者是否相同并且可以应用相同的指令。 我们是否需要 root 访问权限来执
我已经安装了 WebSphere Liberty 配置文件 8.5 。我可以使用 http://localhost:9080 访问 WebSphere 服务器 但不确定如何启动 Admin Conso
我在 WebSphere 应用程序服务器上将一个依赖 jar 扔到我爆炸的 EAR 中。我需要停止/启动 EAR 才能让 WS 执行新代码。有没有办法从命令行执行此操作? 最佳答案 尝试运行这样的东西
我全新安装了 Wesphere 6.1 Fixpack 23。我部署了一个需要 MQSeries JMS 队列的应用程序。我设置了一个基于 MQSeries 提供者的请求和回复队列以及一个基于 MQS
session 超时后是否可以将用户带到自定义网页?在 websphere 中要设置的参数是什么? 最佳答案 我不知道 WAS 中有这样的设置。 我认为您最好的机会是实现 Filter这将检查 ses
我是一名优秀的程序员,十分优秀!