Отображение нечетного текстового поля - PullRequest
0 голосов
/ 20 марта 2012

Код, с которым я работаю, выглядит примерно так:

        <% MessageInfo msg= hp.getInfo(transactionName, checkpointLoc);%>
    <form name='editinfo' action="/editmessage.jsp" method="post">
                <table align=center colspan = "3">
                    <tr>
                        <td><u><b>Currently Editing:</b></u></td>
                    </tr>
                    <tr>
                        <td>Name:</td>
                        <td><input type="text" name="tname" style="width:254px" value=<%= msg.getName() %>/></td>
                        <td><%= msg.getName()%></td>
                    </tr>
                    <tr>
                        <td>Search Method:</td>
                        <td><input type="text" name="searchmethod" style="width:254px" value=<%=msg.getSearchMethod() %>/></td>
                    </tr>
</table>
</form>

Прямо сейчас, это странно отображается в текстовых полях.

В первом текстовом поле отображается только первое слово строки, которое должно отображаться, но когда я не помещаю строку в текстовое поле, отображается полная строка. Например, если должен отображаться «Hello world», в текстовом поле отображается только «Hello».

Для второго текстового поля у меня другая проблема. На этот раз символ «/» добавляется в конец строки. Этот символ «/» не появляется, когда JSP отображает его вне текстового поля. В этом случае строка представляет собой только одно слово, например «XPath», а в текстовом поле отображается «XPath /»

Что вызывает странное отображение этих текстовых полей?

Ответы [ 2 ]

2 голосов
/ 20 марта 2012

В обоих случаях причина, вероятно, одна и та же - вы пропускаете кавычки из атрибута value:

value=<%= msg.getName() %>

value=<%=msg.getSearchMethod() %>

Изменить на

value="<%= msg.getName() %>"

value="<%=msg.getSearchMethod() %>"

Без этих кавычек вы генерируете плохой HTML и полагаетесь на доброе поведение браузера.

Кроме того, для безопасности убедитесь, что строки, возвращаемые этими методами, правильно экранированы в HTML.

0 голосов
/ 20 марта 2012

Я не эксперт по JSP, но, насколько я вижу, ваш HTML-код выглядит хорошо. Может быть, попробовать поставить кавычки в атрибуте значения? Возможно, веб-страница принимает закрывающее "/" в конце тега ввода.

...