Fil писал(а):Из javascript можно обращаться к сервлету, который в свою очередь будет вызывать JPO.
<script type="text/javascript" src="jquery.js"></script>
<input id="classname" style="position:absolute; width:127px; top:30px; left:18px; border:none; background: none;" type="text" />
<input id="methodname" style="position:absolute; width:127px; top:30px; left:18px; border:none; background: none;" type="text" />
<div id="Senddiv" style="cursor: pointer;" onclick="send();">Отправить</div>
function send(classname,methodname)
{
$class=classname.value;[/color] //берем значения input полей[color=#008040]
$method=methodname.value;
$.post("http://xxx.xxx.xxx.xxx:8080/enovia/jposervlet", {class:$class, method:$method}, function(data) {
var result = data;[/color] // передаем в jposervlet название JPO и метода; ответ от сервлета записываем в result[color=#008040]
});
} //функция отправляет post запрос в сервлет jposervlet
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String class = request.getParameter("class");
String method = request.getParameter("method");
String result="";
Context context;[/color] //для запуска JPO нам нужен контекст под которым его запускать[color=#008040]
String[] init = new String[] {};[/color] //[color=#008040]
String[] args = new String[] {};[/color] // параметры для класса и метода (оставим пустыми)[color=#008040]
try {
context = new Context(host);
context.setUser("Имя пользователя"); [/color]//например Test Everything[color=#008040]
context.setPassword("Пароль");
context.setVault("vault");
context.setLocale(new Locale("en"));
context.connect();
result = (String) JPO.invoke(context,class,init,method,args,String.class);
} catch (MatrixException e) {
e.printStackTrace();
}
response.setContentType("text/plain");
PrintWriter out = response.getWriter();
out.println(result);
out.flush();
out.close();
}
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1