j_security_check для приложения jsf, не работающего в IE

У меня есть простое приложение jsf, разработанное и работающее на tomcat 6.0.13. Я добавил некоторые ограничения безопасности для всего приложения, добавив обычную настройку в web.xml.

Когда я теперь развертываю приложение на tomcat и проверяю, оно отлично работает в firefox, я получаю визуализацию своего Login.html (код ниже) и после авторизации перенаправляет меня на соответствующую страницу. Когда я перехожу к тому же приложению в IE, я получаю приглашение для входа в систему, как показано ниже, но нажатие кнопки «Отправить» ничего не делает. Он просто остается там, как будто не отправляет обратно на сервер, поскольку сервер, похоже, не получает никакого ответа от клиентского браузера (без ошибок, без журналов и т. д.).

Что я делаю не так?

<html>
    <head>
        <style type="text/css">
            .cssGenericHeaderColumn
            {
                font-family: Verdana, Arial, Sans-Serif;
                font-size:14px;
                font-weight: bold; 
                text-align: left; 
                vertical-align: left;
            } 
            .cssGenericEntryLabel 
            {
                font-family: Verdana, Arial, Sans-Serif;
                font-size:13px;
                font-weight: lighter; 
                text-align: left; 
                vertical-align: top;
            }           
        </style>
    </head>
    <body>      
        <form method="POST" action="j_security_check">

        <table align="center">
            <tr>
                <td colspan="2" class="cssGenericHeaderColumn">
                    Welcome to blah blah
                </td> 
            </tr>
            <tr>
                <td class="cssGenericEntryLabel"> 
                    User name  
                </td>
                <td class="cssGenericEntryLabel">
                    <input type="text" name="j_username">


                </td> 
            </tr>
            <tr>
                <td class="cssGenericEntryLabel"> 
                    Password  
                </td>
                <td class="cssGenericEntryLabel">
                    <input type="password" name="j_password">
                </td> 
            </tr>
            <tr>
                <td> 
                </td>
                <td  class="cssGenericEntryLabel">
                    <button  class="cssGenericEntryLabel"> Submit </button>
                </td> 
            </tr>
        </table>
    </form>
</body>

Thanks


person ManiP    schedule 30.06.2011    source источник


Ответы (1)


Вы должны использовать <input type="submit"> или <button type="submit"> вместо стандартной кнопки, чтобы иметь полноценную кнопку отправки.

Итак, заменив

<button class="cssGenericEntryLabel">Submit</button>

by

<button type="submit" class="cssGenericEntryLabel">Submit</button>

or

<input type="submit" value="Submit" class="cssGenericEntryLabel" />

должен решить вашу проблему.

Обратите внимание, что эта проблема никак не связана с JSF. Это просто связано с базовым HTML.

person BalusC    schedule 30.06.2011
comment
Пожалуйста. Поскольку вы здесь впервые, не забудьте отметить ответ принятым всякий раз, когда он помог (больше всего) в решении вашей проблемы. См. также мета. stackexchange.com/questions/5234/ - person BalusC; 01.07.2011