2012-05-29 5 views
0

사용자는 이전 형식 인 http://server/db.nsf/VIEW_UNID/DOC_UNID의 링크로 문서를 엽니 다. 이 폼에는 XPage를 대신 열도록 설정된 속성이 있습니다.기본 Domino 링크 및 XPages

이러한 링크의 출처는 "범용 에이전트"가 생성 한 전자 메일 알림입니다. 단순히 문서로 연결되는 링크입니다. 어떤 형식이 XPage와 관련되어 있는지 모르기 때문에 "/page.xsp & documentId = ..."대신 범용 링크를 생성합니다.

문제 : 클라이언트에서 계산 된 상대 링크가 작동하지 않음 - < a href = "/page.xsp?params">이 더 효과적이어야합니다. 왕복이없고 페이지로드시 계산하기 쉽습니다. 그들은 http://server/db.nsf/0/page.xsp?params으로 평가되며, 오류 404, 자연적으로 끝납니다.

XPage에는 "도움말"섹션이 포함되어 있으며 텍스트, 이미지 및 링크가 포함 된 RT 필드가있는 다른 문서는 무엇입니까? RT 필드의 상대 링크는 XPage가 다른 XPage - view (/page.xsp)에서 열렸을 때 작동하지만 알림 링크 (/ 0/UNID)에서 리디렉션 될 때 실패합니다.

질문 : 얼마나 효과적으로 구식의 URL로 리디렉션 문서/뷰를 연 후 확장 XPages 형식 http://server/db.nsf/page.xsp?documentId=DOC_UNID에 브라우저의 주소 표시 줄을 재설정?

+1

대리인이 왜 * $$ OpenDominoDocument.xsp *와 링크를 만들지 않는 이유는 무엇입니까? Btw .: */page.xsp & params * 링크는 작동하지 않습니다. 대신 */page.xsp? params * 여야합니다. –

+0

@SvenHasselbach : 모든 응용 프로그램이 XPage를 기반으로하는 것은 아닙니다. 그리고 그 btw : 네 말이 맞아, 난 그냥 예제로 여기에 입력 ... –

+0

귀하의 질문을 명확히하고 귀하의 질문 ("대"? ")에 URL을 수정하십시오. – leyrer

답변

1

주요 문제는 서버 측 (SSJS에서 평가) 및 클라이언트 측 (브라우저로 평가)에서 상대 링크의 불일치입니다. 문서가 구식 링크로 열리는 경우 간단한 리디렉션으로 문제를 해결했습니다.

<?xml version="1.0" encoding="UTF-8"?> 
    <xp:view xmlns:xp="http://www.ibm.com/xsp/core"> 
     <xp:eventHandler event="onClientLoad" submit="false"> 
      <xp:this.script><![CDATA[var url = "#{javascript:context.getUrl()}"; 
    var l = window.location; 
    if (url != l) { 
     window.location.replace(url); 
    } 
    ]]></xp:this.script> 
    </xp:eventHandler> 
</xp:view> 

간단히 말해 열린 URL이 내부 URL (XSP 엔진에서 확인 됨)과 다른 경우 브라우저가 올바른 URL로 리디렉션됩니다. 이것은 인라인 이미지 (이미지 리소스) 및 첨부 파일로 인해 많은 문제를 해결했습니다.

0

루트로 돌아가려면 "./page.xsp & params"또는 ../을 시도하십시오. IBM이 코딩에서도 이와 같이합니다. 희망이 도움이됩니다.

+0

사용자가 올바른 링크로 페이지를 열 수 있으므로 조언은 http : //server/page.xsp 또는 http : //server/path/page.xsp로 평가됩니다. –

+0

아마도 질문이 잘못 이해 된 것입니까? 샘플 코드를 제공하거나 "구식 URL로 리디렉션 된 문서 /보기 열기"라는 의미를 명확히 할 수 있습니까? Notes 문서 나 수식 언어 등에서 LS 코드 나 최종 사용자가 생성합니까? 클라이언트에서 계산 된 상대 링크가 작동하지 않는 것은 무엇입니까? 이러한 링크는 최종 사용자가 문서에서 계산하거나 양식으로 계산됩니까? – pipalia

0

XPage에서 pageBaseUrl 속성을 설정하려고 시도 했습니까? 이것은 상대 금지 링크를 복구하는 데 도움이 될 것이다 :

<xp:this.pageBaseUrl> 
    <xp:baseUrl> 
     <xp:this.href><![CDATA[#{javascript:"http://stackoverflow.com/"}]]></xp:this.href> 
    </xp:baseUrl> 
</xp:this.pageBaseUrl> 

또 다른 아이디어는 XPage에 beforePageLoad -event에서 리디렉션을 수행 할 수있는 URL이 구식 스타일의 경우.

+0

예, 이것이 제 질문에서 생각하고있는 것입니다. 나는 다만 위치 URL가 일하지 않을 것이라는 점을, tho 생각한다. 당신이 url 매개 변수와 앵커를 보존하기 위해 baseUrl 속성을 내부에두기를 제안하겠습니까? –

+0

정확하게 알고 싶은 것을 이해하지 못합니다. 원래 URL 매개 변수를 추가 한 상대 링크에 필요한 이유는 무엇입니까?그러한 링크는 어떻게 생겼습니까? 예를 들어 줄 수 있습니까? –

관련 문제