标签: websphere-portal

转换为同一个类时出现ClassCastException

我有2个不同的Java项目,一个有2个类:dynamicbeans.DynamicBean2dynamic.Validator.

在另一个项目中,我动态加载这两个类并将它们存储在一个 Object

class Form {
    Class beanClass;
    Class validatorClass;
    Validator validator;
}
Run Code Online (Sandbox Code Playgroud)

然后我继续创建一个Validator对象validatorClass.newInstance()并使用它validator然后我创建一个bean对象并使用beanClass.newInstance()并将其添加到会话中.

portletRequest.setAttribute("DynamicBean2", bean);
Run Code Online (Sandbox Code Playgroud)

Form项目的生命周期中,我调用validator.validate()从会话中加载先前创建的bean对象(我​​正在运行Websphere Portal Server).当我尝试将此对象强制转换为DynamicBean2失败并出现ClassCastException时.

当我将对象拉回会话时使用

faces.getApplication().createValueBinding("#{DynamicBean2}").getValue(faces);
Run Code Online (Sandbox Code Playgroud)

并使用.getClass()我得到检查它的类dynamicbeans.DynamicBean2.这是我想要将它强制转换为的类,但是当我尝试获取ClassCastException时.

我得到这个的原因是什么?

java reflection classcastexception websphere-portal

51
推荐指数
3
解决办法
7万
查看次数

检测Web应用程序中的设备类型

我们有一个基于Java的应用程序,我们希望在其中检测发送请求的设备的设备类型(移动或桌面).

这怎么可能?

javascript java websphere-portal

25
推荐指数
4
解决办法
7万
查看次数

用于WebSphere Portal开发的轻量级门户服务器?

我正在为IBM WebSphere Portal 6.1做一些portlet开发.但是,部署过程非常缓慢.由于这是我第一次进行portlet开发,所以我不太熟悉那里的各种门户服务器.我想为轻量级门户服务器提供一些建议,我可以在其上快速部署以进行开发.

java websphere portal websphere-portal

6
推荐指数
1
解决办法
1937
查看次数

垃圾收集需要开销帮助

我正在寻找一些关于尝试诊断GC相关问题的指导.

我们正在使用WebSphere Portal在Solaris上进行测试,并且我当前的环境具有7%的垃圾收集开销(这是使用详细的GC计算并通过PMAT运行日志)我应该将此值与另一个以平均值运行的环境进行比较4.5%.env与WebSphere Portal的版本完全相同,JVM大小,参数,自定义变量等.在1小时性能测试期间,我的JVM有20多个分配失败,2个更多完整GC,在GC期间平均暂停时间比其环境高2秒.

您能否就所有相同的配置值和相同的1小时性能测试给出任何可能导致此问题的建议?或其他任何要审查?

谢谢

java garbage-collection performance-testing websphere-portal

6
推荐指数
1
解决办法
1515
查看次数

在JSF 1.1之后不推荐使用类型API变量解析器.请改用el-resolver

我们最近从WebSphere Portal v6.1升级到v7.0,在此过程中我们现在可以使用JSF 1.2.在Rad 8中创建一个新的Portlet项目会创建一个带有以下条目的faces-config.xml

<application>
    <state-manager>com.ibm.faces.application.DevelopmentStateManager</state-manager>
    <variable-resolver>com.ibm.faces.portlet.PortletVariableResolver</variable-resolver>
</application>
Run Code Online (Sandbox Code Playgroud)

然后抱怨:在JSF 1.1之后不推荐使用类型API变量解析器.请改用el-resolver.

不幸的是,我无法在el-resolver使用的IBM页面上找到答案.

编辑:

System.out.println("Resolver: " + PortalUtil.getFacesContext().getApplication().getELResolver());
Run Code Online (Sandbox Code Playgroud)

=>解析器:com.sun.faces.el.FacesCompositeELResolver@696e696e

在faces-config中添加条目

<el-resolver>com.sun.faces.el.FacesCompositeELResolver</el-resolver>
Run Code Online (Sandbox Code Playgroud)

无论是否删除变量解析器,都会导致:

java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.context.FacesContextFactory
    at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:270)
    at javax.faces.webapp.FacesServlet.init(FacesServlet.java:164)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:358)
    ... 89 more
Run Code Online (Sandbox Code Playgroud)

与IBM的PMR开放......

java jsf websphere-portal ibm-rad ibm-jsf

6
推荐指数
1
解决办法
3618
查看次数

Liferay Portal:与Websphere Portal有何不同

我使用过Websphere Portal 6.0,6.1并开发了门户应用程序,使用JSR 168,JSR 286 Portlets.

现在我转到项目,我将使用Liferay门户服务器和JSR 168,JSR 286.

我知道根据编程接口(JSR)它将是相同的.但是想知道与Websphere Portal相比,服务器级别(功能,配置,架构,开箱即用服务)的主要区别是什么?

谢谢

portal jsr168 liferay websphere-portal jsr286

5
推荐指数
1
解决办法
6578
查看次数

Ajax调用WebSphere Portal 6.1中的GenericPortlet.serveResource()

我正在尝试使用jQuery/ajax调用portlet的serveResource()方法.我设法得到一个简单的JSR-286 portlet,它在Pluto 2.0中工作,能够从请求体读取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 />");
}
Run Code Online (Sandbox Code Playgroud)

Portlet代码段:

public class TestPortlet extends GenericPortlet {
    ...
    @Override
    public void serveResource(ResourceRequest request, ResourceResponse …
Run Code Online (Sandbox Code Playgroud)

jquery portlet websphere-portal jsr286

5
推荐指数
0
解决办法
7606
查看次数

Websphere 8.0和Java 1.7

我们目前正在使用与Java 1.6一起运行的Websphere 8.0.0.7.不幸的是,我们想要集成到门户中的一些portlet需要运行Java 1.7.

在Websphere 8.0.0.7下有没有(简单)方法使用Java 1.7?我为Websphere 8.5找到了很多答案,但尤其不适用于8.0.是否可以使用1.7?

非常感谢您的努力!

菲利普

java websphere websphere-portal java-7

5
推荐指数
1
解决办法
9691
查看次数

使用HttpServletRequest创建一个cookie?

我创建了一个RenderingPluginfor,用于在WebSphere Portal向客户端发送标记之前调用服务器端.插件循环遍历所有cookie,如果找不到'test',我想设置该cookie.

我知道这是可能的,HttpServletResponse但是RenderingPlugin没有访问该对象.它只有一个HttpServletRequest.

还有另一种方法吗?

public class Request implements com.ibm.workplace.wcm.api.plugin.RenderingPlugin {

    @Override
    public boolean render(RenderingPluginModel rpm) throws RenderingPluginException {

        boolean found = false;

        HttpServletRequest servletRequest = (HttpServletRequest) rpm.getRequest();
        Cookie[] cookie = servletRequest.getCookies();

        // loop through cookies
        for (int i = 0; i < cookie.length; i++) {

            // if test found
            if (cookie[i].getName().equals("test")) {

                found = true;
            }
        }

        if (!found){

            // set cookie here
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java cookies websphere-portal

5
推荐指数
1
解决办法
1396
查看次数

Bootstrap折叠无法正常工作(隐藏无法工作)

我正在使用引导折叠功能在我们的IBM Web门户中无法正常工作。它在“显示”功能上工作正常,但在“隐藏”功能上无效。

<a href="#demo" data-toggle="collapse"><span class=”icon”>Collapsible</span></a>

<div id="demo" class="collapse">
Sample Code 
</div>
Run Code Online (Sandbox Code Playgroud)

我在控制台窗口中看到的“ 区域扩大 ”的价值并没有在我们的崩溃改变,也没有改变类的名称,如“ 倒塌 ”和崩溃 ”。

如何解决。

websphere-portal twitter-bootstrap twitter-bootstrap-3

5
推荐指数
2
解决办法
2万
查看次数