Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
перенос страницы login.csp в класс csp.logincsp Extends %CSP.Page
|
|||
|---|---|---|---|
|
#18+
Привет Решили csp странички, которые раньше лежали в папках csp перенести в классы. Начали со странички логина, и сразу столкнулись с проблемой: перестал работать метод verifyPassword который находится за </html> и вызывается java функцией при обработке нажатой кнопки. В документации решения проблемы не нашли (а может не поняли где искать :)). Может подскажете как с этим зверем бороться?? Class csp.logincsp Extends %CSP.Page { ClassMethod OnPage() As %Status { s serverName=##class(csp.logincsp).ServerName() &html<<html> <head> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251"> <link rel="STYLESHEET" type="text/css" href="css/login.css"> <TITLE></TITLE> <script language="JavaScript" type="text/javascript"> var remote_host="#(%request.GetCgiEnv("REMOTE_HOST"))#"; var remote_address="#(%request.GetCgiEnv("REMOTE_ADDR"))#"; function verifyPassword() { #server(..verifyPassword(Password.value,ServerName.value,screen.height,screen.width,remote_host,remote_address,Login.value))#; } </SCRIPT> </head> <body BGCOLOR="#AED3FF"> <table WIDTH="100%" HEIGHT="100%" BORDER="0"> <tr> <td ALIGN="center"> <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0" id="qqq" WIDTH="400"> <TR> <TD STYLE="padding-top: 5px;" ALIGN="center">База</td> <TD ROWSPAN="2" ALIGN="left"><IMG SRC="img/key.gif"></TD> </tr> <tr> <TD STYLE="padding-top: 5px;" ALIGN="left">Виберите сервер: <select name="ServerName" TYPE="text" ID="ServerName" size="1"> <option value=#(serverName)# SELECTED>#(serverName)#</option> <option value="localhost" >localhost</option> </select></td> </tr> <tr> <td>Имя пользователя: <INPUT class="txt" TYPE="text" title="" ID="Login" value=""></td> </tr> <tr> <td>Пароль: <INPUT TYPE="password" title="" ID="Password"></TD> </TR> <TR> <TD COLSPAN="2" ALIGN="center" STYLE="padding-bottom: 5px;"><BUTTON CLASS="but" onClick="verifyPassword();">Войти</BUTTON> <BUTTON CLASS="but" onClick="window.close();">Отмена</BUTTON></TD> </TR> </TABLE> </td> </tr> </table> > &html< </html>> &html< <csp:method name="verifyPassword" ARGUMENTS="password, serverName, screenHeight, screenWidth, host, address, login"> // метод проверки пароля и имени </csp:method>> Quit $$$OK } ClassMethod ServerName() As %String { s serverName=$g(^["%SYS"]NET(0,"THISCO")) q serverName } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2011, 19:16 |
|
||
|
перенос страницы login.csp в класс csp.logincsp Extends %CSP.Page
|
|||
|---|---|---|---|
|
#18+
Елена151, перенос csp в классы в целом возможен, но я бы не рекомендовал этого делать без особой необходимости, так как вы получите кучу дополнительной работы и риск получить несовместимость с другими версиями каше (в разных версиях это может компилироваться по разному). Дело в том, что что компилятор csp страниц делает много неявных преобразований. Многие вещи в каше существуют только в пределах CSP страниц, а внутри класса они не могут существать и заменяются другими более низкоуровневыми командами. Например, в классах не существуют CSR-теги, #()#, #server()#. Чтобы посмотреть, на что они заменяются, можно нажать в студии, находясь в csp странице, меню "Просмотр->Просмотр другого кода" или ctrl+shift+V. В частности, если у вас страница превращается в класс и там есть гиперевенты, обязательно в методе OnPageHEAD нужно вызвать ..HyperEventHead(0,0) а непосредственно вместо вызова используйте ..HyperEventCall класса %CSP.Page. (Кстати, сейчас посмотрел - стандартный компилятор перекручивать #server не в HyperEventCall, а во что-то похожее на результат его работы. Но вам нужно использовать HyperEventCall) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2011, 21:32 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=37073370&tid=1557839]: |
0ms |
get settings: |
5ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
138ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 454ms |

| 0 / 0 |
