2013-06-05 3 views
1

В чем разница между <s:select> и <html:select> тегами? Какова цель иметь два разных тега для одной цели - заполнить выпадающее меню?Разница стоек выбрать теги

+0

что есть и бирка – PSR

+0

можно отправить сообщение простой код – PSR

+0

извините опечатка. Я исправлю это – Harshana

ответ

1

Нет difference.It зависит от prefix

Если вы используете этот

<%@ taglib prefix="s" uri="/struts-tags" %> 

затем использовать

<s:select> 

Если вы используете этот

<%@ taglib prefix="html" uri="/struts-tags" %> 

<html:select> 

затем использовать

+0

, вы поняли сейчас – PSR

0

<html:select> и <html:something метки являются частью Struts 1 taglibraries, в частности, теги-HTML библиотека:

<%@taglib prefix="html" uri="http://struts.apache.org/tags-html" %> 

<html:select ...> 

Example of usage of Struts1's <html:select>


, в то время как <s:select> и <s:something метки являются частью от Struts 2 taglibraries, конкретно распорки-теги библиотека:

<%@taglib prefix="s" uri="/struts-tags" %> 

<s:select ...> 

Example of usage of Struts2's <s:select>


EDIT

Как @UmeshAwasthi меня заметить, это может быть не очевидно, что это Конвенция, а не код код;

это означает, что, если какой-то сумасшедший парень, который не любит стандарты хочет, чтобы инвертировать префиксов из taglibraries, ОН МОЖЕТ, таким же образом, что он может написать Integer myDouble = new Integer(); ... только семантика сломаны , синтаксис в порядке.

Но, поскольку я думаю, что сомнения (то же, что у меня было несколько лет назад) возникло из-за множественных вхождений этих двух синтаксисов (<html: и <s:) в Интернете, ну, поверьте, они всегда ссылаются (по крайней мере, в он-лайн статьи, может быть, не всегда в вопрос здесь или на coderanch и т. д.).

Подводя итог, Конвенция (не Правило, только правило) является:

html = Struts 1 
s = Struts 2 
c = JSTL 
+2

, хотя я согласен с вами, но это не является жестким правилом, что префикс 'html' является частью' Struts1', и мы можем использовать его также в 'Struts2' –

+0

. Вы абсолютно правы; но это ** соглашение ** и при чтении примеров ** в Интернете **, если вы видите '

0

Ну иждивенцы на, в каком отношении вы говорите, и оба выше ответа правильны там есть собственный путь.

Там может быть два аспекта здесь

  1. Вы смесительные Struts старую версию с Struts2.
  2. Это только предпочтительный способ использования префикса разработчиком.

Как правило, все, кто работал со Struts старой версии хорошо известно об использовании html в качестве префикса тега и очень хорошо объясняется Андреа Ligios.

Обычно, когда мы используем тег Struts2, мы используем префикс s, но это только соглашение, и вы можете использовать любое соглашение (префикс), например <s:select>, <html:select>, <myprefix:select>.

Все, что нужно сказать, рамочный какой префикс, вы тусклый использовать с помощью следующей строки в вас шаблон файла

<%@taglib prefix="prefix of you choice" uri="/struts-tags" %> 

Хотя я уверен, что вы, возможно, видели код на буксирных местах с один представляет старая Strut и др. представляет версию Struts2.

0

Оба тега имеют одинаковое имя, но разные пространства имен, определенные префиксом тега. если вы хотите использовать некоторую другую библиотеку тегов, у которой есть теги с именами, которые вы уже используете, лучше определить те библиотеки тегов в разных пространствах имен, поэтому имена тегов не сталкиваются, чтобы добиться различного поведения. Чтобы убедиться, что имена тегов не столкнулись лучше, использовать другие библиотеки тегов с префиксами с разными пространствами имен.

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