Как передать пользовательский объект в качестве параметра в javascript window.open

Я пытаюсь передать IDfSysObject в качестве параметра в window.open(), но я предполагаю, что IDfSysObject преобразуется в строку и при извлечении не позволяет мне преобразовать его обратно в IDfSysObject.

Вот мой код javascript

function myFunction(objid, objname)
{
     
     window.open("view.jsp?uid="+objid+"&name="+objname,"","heightP0 ,widthP0");
    
    
}

вот как я пытаюсь его получить

Object obj = (Object)request.getParameter("uid");
sysObj = (IDfSysObject)obj;

Я надеялся, есть ли способ отправить пользовательский объект в качестве параметра? или есть ли вообще способ передать этот IDfSysObject другому jsp.

Заранее спасибо.


person Zeus07    schedule 02.12.2020    source источник


Ответы (1)


IDfSysObject не сериализуется таким образом. Вы должны сделать следующее:

Чтобы получить идентификатор объекта sysobject:

IDfSysObject obj = ....
String objectId = obj.getObjectId().toString();

// now pass the objectId to the JS code, it is a string

чтобы получить объект sys с его идентификатором, вам нужен IDfSession, который вы получаете при подключении к репозиторию. Когда у вас есть это, это просто:

IDfSysObject obj = session.getObject(new DfId(objectId));
person KarolBe    schedule 03.12.2020