Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > CGI-скрипт из JSP


Автор: levely 2.6.2006, 14:28
Здравствуйте!!!
Есть CGI-скрипт написанный на C++ Builder.
Вопрос- можно ли его вызвать из jsp-странички?
директива <jsp:include> не работает!!!

P.S.
Надо срочно-поэтому переписывание скрипта под яву откладывается.Хотя бы какой временный вариант возможен?
 smile 

Спасибо!! 

Автор: MisterCleric 2.6.2006, 14:43
А не пробовал сделать редирект на этот скрипт с передачей параметров, а с него назад в jsp?
типа такого:
Код

    <c:url value="MyCgi.[pl, php или что там у тебя]" var="myUrl">
        <c:param name="param1" value="${param.p1}"/>
        <c:param name="param2" value="${param.p2}"/>
        ...........
        <c:param name="paramN" value="${param.pN}"/>
    </c:url>
    <c:redirect url="${myUrl}"/>
 

Автор: levely 5.6.2006, 08:05
Редирект не выходит(или я что-то не так делаю?!)- мне надо вставить результат работы cgi (это кстати .exe -от билдера) в ячейку таблицы.
Раньше все работало с помощью SSI (в обычной .html) 

Автор: tux 5.6.2006, 09:38
Можно использовать другой тэг JSTL. Вот так все прекрасно сработает:
Код

<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
...
<c:import url="http://localhost:8080/" />

Реализация JSTL есть здесь: http://jakarta.apache.org/taglibs/index.html. Документация здесь: http://java.sun.com/products/jsp/jstl/.  

Автор: levely 5.6.2006, 13:59
    Пишу таким образом

Код

<td width="49%" valign="top">
          
                <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

                <c:import url="http://10.128.1.102/cgi-bin/graf.exe" />
</td>


TOMCAT ругается на  ссылку сановского сайта.
Он понимает тег и без нее, но не "читает" скрипт все равно.
Может проблема в том, что скрипт лежит на другом веб-сервере? 

Автор: batigoal 5.6.2006, 14:15
У меня тоже такое было... Помнится, я просто положил библиотеки jstl.jar и standard.jar в WEB-INF, и все заиграло. 

Автор: levely 6.6.2006, 07:11
      Никак играть не хочет smile 
    Чего уже только не пробовала...
 

Автор: MisterCleric 6.6.2006, 07:58
Так а какой Эксеппшн хоть выдает? 
Что именно у тебя не хочет работать: JSTL или твоя CGI? 

Автор: levely 6.6.2006, 09:07
Вобщем как я говорила на это:
 
Код

 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
 <c:import url="http://10.128.1.102/cgi-bin/graf.exe" /></td>


ругается так:
Код

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause 




без тега taglib Tomcat не ругается, oн просто не видит  <c:import...>

При этом другие элементы странички работают замечательно.  

Автор: tux 6.6.2006, 09:19
Положи файлик c.tld в каталог WEB-INF приложения, а в web.xml добавь следующее:
Код

<taglib>
    <taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
    <taglib-location>/WEB-INF/c.tld</taglib-location>
</taglib>
  

Автор: levely 6.6.2006, 11:45
 Заработало!!!

Сделала:
скачала нормальную версию jstl с jakarta.apache.org
сделала как писал пынгвин )
и добавила standart.jar в каталог Tomcat/common/lib

Спасибо, ребята, помогли!!!

p.s. 
еще помогла ссылка:
http://www.javable.com/forum/thread.jspa?messageID=72199 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)