2011-11-17 71 views
1

当我尝试进行测试以在JSP页面上对数据进行排序时,我遇到了一些问题,这是使用库核心和XML的基本示例。如何使用XML文档的值测试请求参数

在页面index.jsp中,用户选择书的作者。
在页res.jsp我尝试选择在index.jsp中选择作者的书,但忽略<c:if test="....>...</c:if>之间的代码。

的index.jsp的代码:

代码 res.jsp
<form method="get" action="res.jsp"> 
    <select name="combo1"> 
     <option value="atlas">atlas </option> 
     <option value="echchadi">echchadi </option> 
     <option value="fertat">fertat </option> 
     <option value="bouarifi">bouarifi </option> 
    </select> <br/> 
    <input type="submit" value="Search"/> 
</form> 

<c:import url="books.xml" var="documentXML"/> 
    <%--On parse le document récupérer --%> 
    <x:parse doc="${documentXML}" var="doc"/> 
    <c:set value="${param.combo1}" var="prof"/> 
    <c:out value="${prof}"/> 
    <x:forEach select="$doc/books/book" var="naw">    
     <x:set select="$naw/author" var="author"/> 
     <x:if select="$author eq $prof"> 
      <x:out select="$naw/title"/> 
      <x:out select="$naw/author"/> 
     </x:if> 
    </x:forEach> 

任何想法,为什么提到的代码将被忽略?

+0

什么是'x'前缀?您提到'',但在第一次尝试使用时提交'' –

+0

'如果在核心库中x指向xml库中的if如果在第一次我想用来做我的测试但它没有工作,在第二次尝试的时候,我尝试了它没有工作太 –

+0

因此,它不会输入''块内的代码?现在我还没有写过任何JSP,但不应该是'$ {author eq prof}'? –

回答

0

我不熟悉XML库,但我期望<c:if test="${author eq prof}">能够正常工作。

如果不是,我认为他们永远不会平等。也许XML文件中的作者有大写字母等等。我会尝试在每次迭代中输出author的值,在这种情况下...只是为了确保XML库正在读取的是您所期望的。