2014-11-18 3 views
0

Я пытаюсь получить этот код. И у меня всегда есть эта ошибка: «[ReferenceError] dojox не найден». Domino R9.0.1 с xPages.Использование Dojo MD5 с xPages

Благодаря

<?xml version="1.0" encoding="UTF-8"?> 
 
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" dojoForm="true" 
 
\t dojoParseOnLoad="true" xmlns:xe="http://www.ibm.com/xsp/coreex"> 
 

 
\t <xp:this.resources> 
 
\t \t <xp:dojoModule name="dojox.encoding.digest.MD5"></xp:dojoModule> 
 
\t </xp:this.resources> 
 
\t <xp:text escape="true" id="computedField1"> 
 
\t \t <xp:this.value><![CDATA[#{javascript:var d=dojox.encoding.digests.MD5("test"); 
 
d;}]]></xp:this.value> 
 
\t </xp:text></xp:view>

ответ

0

Я вижу две проблемы. Одним из них является dojoModule, это должно быть dojox.encoding.digests.MD5. Во-вторых, вы вычисляете значение, используя клиентский javascript (Dojo) внутри сценария на стороне сервера. Это не будет работать.

Я не уверен, что вы пытаетесь достичь, но вы могли бы заставить его работать так:

<?xml version="1.0" encoding="UTF-8"?> 
    <xp:view xmlns:xp="http://www.ibm.com/xsp/core" 
    dojoParseOnLoad="true"> 

    <xp:this.resources> 
     <xp:dojoModule name="dojox.encoding.digests.MD5"></xp:dojoModule> 
    </xp:this.resources> 


    <xp:inputText id="inputText1"></xp:inputText> 


    <xp:eventHandler event="onClientLoad" submit="false"> 
     <xp:this.script><![CDATA[dojo.addOnLoad(function(){ 
    var d=dojox.encoding.digests.MD5("test", dojox.encoding.digests.outputTypes.Hex); 
    dojo.byId("#{id:inputText1}").value = d; 
})]]></xp:this.script> 
    </xp:eventHandler> 
</xp:view> 

Это добавит MD5 хеш внутри InputBox, что вы можете подключиться к любому источнику данных.

+0

Nice. Большое спасибо – marbat23

+2

marbat23, не забудьте ответить, если это вам помогло –

Смежные вопросы