2015-06-03 3 views
0

У меня есть код устаревшего кода, который нуждается в небольшом изменении, и я недостаточно знаком с синтаксисом, чтобы сделать это быстро. Я пробовал разные подходы, но пока не нашел того, что работает.Синтаксис xslt/jsp (получить значение из таблицы xslt)

У меня есть файл xsl, который определяет формат страницы. Эта страница включает в себя таблицу с переключателем на каждой строке. Пользователь должен выбрать одну строку (с помощью переключателя), а затем нажать другую кнопку в другом месте страницы, чтобы отправить запрос Http (для разных операций есть различные кнопки). Параметр запроса всегда включает значение из столбца1.

Изменение, которое мне нужно сделать, это то, что для некоторых операций мне также нужно значение из столбца2.

Код в данный момент такой .... В xls.

\t <form name="MyForm"> 
 
\t \t <table border="1" frame="border" id="altTable1"> 
 

 
\t \t \t <tr class="MyTable"> 
 

 
\t \t \t </tr> 
 
\t \t \t <xsl:for-each select="Blah"> 
 
\t \t \t <tr> 
 
\t \t \t \t <td> 
 
\t \t \t \t \t <xsl:element name="input"> 
 
\t \t \t \t \t \t <xsl:attribute name="type">radio</xsl:attribute> 
 
\t \t \t \t \t \t <xsl:attribute name="name">column1Name</xsl:attribute> 
 
\t \t \t \t \t \t <xsl:attribute name="id">column1Name</xsl:attribute> 
 
\t \t \t \t \t \t <xsl:attribute name="size">20</xsl:attribute> 
 
\t \t \t \t \t \t <xsl:attribute name="value"><xsl:value-of select="Column1"/></xsl:attribute> 
 
\t \t \t \t \t </xsl:element> 
 
\t \t \t \t </td>  
 
\t \t \t \t <td><xsl:value-of select="Column1"/></td> 
 
\t \t \t \t <td><xsl:value-of select="Column2"/></td>

И СПЯ, как это:

\t var column1Value = ""; 
 

 

 
\t for (i=0, n=parent.frames['bottom'].document.MyForm.elements.length; i<n; i++) { 
 
\t  if (parent.frames['bottom'].document.MyForm.elements[i].checked) { 
 
\t  \t  column1Value = parent.frames['bottom'].document.MyForm.elements[i].value; 
 

 
\t  \t } 
 
\t }

А затем они добавить column1value в качестве параметра запроса HTTP.

Я попытался добавить следующее в элемент ввода xsl и добавить логику column2Value в jsp, аналогично тому, что он делает с column1Value. Я вижу ценность в ожидаемом месте в Fiddler. Но мой jsp получает «неопределенный», а не значение, которое я вижу в Fiddler.

<xsl:attribute name="column2Value"><xsl:value-of select="Column2"/></xsl:attribute>

column2Value = parent.frames['bottom'].document.requestorDetailsForm.elements[i].column2Value;

Что я делаю не так и как это исправить? :)

ответ

0

Отвечая на мой собственный вопрос: проблема заключалась в том, что jsp должен был использовать getAttribute для доступа к Column2Value, встроенному в элемент.

Так правильно JSP является:

column2Value = parent.frames['bottom'].document.requestorDetailsForm.elements[i].getAttribute("column2Value");

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