[jsp] melding: attribute does not accept any expressions

Pagina: 1
Acties:

  • FendtVario
  • Registratie: Januari 2002
  • Laatst online: 12-05-2025

FendtVario

The leader drives Vario!

Topicstarter
Ik ben een Java app aan het maken om mijn bookmarks op te slaan op een server, omdat de planning is dat deze door verschillende programma's gebruikt moeten kunnen worden heb ik een servlet dat de bookmarks als XML exporteerd. Daarnaast heb ik een filter gemaakt dat via XSL de XML omzet naar HTML. Werkt geweldig.

Maar, nu wil ik de html opnemen in een JSP pagina. Dus, de servlet uitvoer via een jsp:include opgenomen, blijkt dat dan de Filter niet wordt gebruikt |:( . In mijn Pro J2EE boek vond ik nog de volgende code:

code:
1
2
3
4
5
6
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jstl/xml" %>
...
<c:import url="/urlmanager/xml/output" var="xml" />
<c:import url="xsl/bookmark_html.xsl" var="xsl" />
<x:transform xml="${xml}" xslt="${xsl}" />


Voor de taglibs heb ik standard.jar uit de taglibs 1.1.2 van jakarta in de WEB-INF/lib map gezet.

Hier mijn web.xml start:
code:
1
2
3
4
5
6
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">


Bij het aanroepen van de pagina krijg ik dan de volgende melding:
code:
1
org.apache.jasper.JasperException: /index.jsp(35,1) According to TLD or attribute directive in tag file, attribute xml does not accept any expressions


Regel 35 is de x:transform. Deze fout kreeg ik eerder ook in de regels daarvoor, vandaar dat daar nu even een harde link staat ipv rekening te houden met contextpath etc. Via google heb ik al verschillende links gevonden over de gebruikte servlet versie, die moet blijkbaar 2.4 zijn. Dat is bij mij ook en is ook zo gedeclareert in de web.xml. Als server gebruik ik Tomcat 5.0.28. Het lukt dus wel om via een filter net XML om te zetten maar niet via deze constructie. Wat doe ik fout?

www.fendt.com | Nikon D7100 | PS5


  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Lijkt mij dat ie de ${xml} niet slikt, maar alleen een "vaste" waarde wil hebben. Dit kan je instellen in de tld (tag library descriptor), zoals de foutmelding zegt, maar die zit in de jar.

Heb je meer voorbeelden gezien met een variabele waarde daar? Mischien dat het niet kan.

  • FendtVario
  • Registratie: Januari 2002
  • Laatst online: 12-05-2025

FendtVario

The leader drives Vario!

Topicstarter
Het boek staat vol met dit soort voorbeelden. Ook de import regels zouden met een variabele kunnen. Ook verschillende voorbeelden die ik op internet had gevonden doen het niet.

www.fendt.com | Nikon D7100 | PS5


  • FendtVario
  • Registratie: Januari 2002
  • Laatst online: 12-05-2025

FendtVario

The leader drives Vario!

Topicstarter
Iemand nog een ideetje?

www.fendt.com | Nikon D7100 | PS5


  • FendtVario
  • Registratie: Januari 2002
  • Laatst online: 12-05-2025

FendtVario

The leader drives Vario!

Topicstarter
Had zelf nog een idee en het lijkt te werken. De regel
code:
1
<%@ taglib prefix="x" uri="http://java.sun.com/jstl/xml" %>
moet veranderd worden in
code:
1
<%@ taglib prefix="x" uri="http://java.sun.com/jstl/xml_rt" %>

www.fendt.com | Nikon D7100 | PS5