Java-ning ko'prigi urliga kontekstli yo'lni o'rnatish

  
       
 

Yuqoridagi kod kontekstni "/ dnweb" deb ataydi. Bu qattiq kodli sifatida beriladi. Lekin bunga dinamik ravishda kerak.

Agar kontekstni ismingizni loyihangizga o'zgartirsangiz. Avtomatik ravishda o'zgartirish kerak. Buning uchun qanday qilishim mumkin?

kodi bor

Lekin bu xato qiladi.

0
qanday xato beradimi?
qo'shib qo'ydi muallif Bozho, manba
ushbu havolani tekshiring ... [klik] [1] [1]: stackoverflow.com/questions/2065843/…
qo'shib qo'ydi muallif Sumit Singh, manba

4 javoblar

You don't need the pageContext. Simply use ${request.contextPath}

Eski versiyalar uchun JSP-ni o'rnatishingiz mumkin bo'lishi mumkin:

<%@ page isELIgnored="false" %> 

Biroq, yangi versiyani qo'llab-quvvatlash uchun servlet konteyneringizni yangilashga harakat qiling.

2
qo'shib qo'ydi
siz hali ham mening savolimga javob bera olmadingiz "qanday xato beradi"
qo'shib qo'ydi muallif Bozho, manba
JSP versiyasi nima? JSP (jsp ko'rsatmalari) ning yuqori qismida nima bor?
qo'shib qo'ydi muallif Bozho, manba
oh, bu juda eski versiya. O'z yangilanishimni tekshiring
qo'shib qo'ydi muallif Bozho, manba
Javobimni yangiladim. Buni tekshiring
qo'shib qo'ydi muallif Bozho, manba
men ko'rsatgan ko'rsatmani qo'shib, qayta urinib ko'ring
qo'shib qo'ydi muallif Bozho, manba
Siz yuqorida juda yomon narsa qilyapsiz - WEB-INF/tld da standart tldslarga ega bo'lmasligingiz kerak. Va sizning butun E'tiboringiz e'tibordan chetda.
qo'shib qo'ydi muallif Bozho, manba
$ {request.contextPath} ishlamayapti.
qo'shib qo'ydi muallif Mdhar9e, manba
JSP versiyasi: 1.2 '<% @ page language = "java"%> <% @ taglib uri = "/ WEB-INF/tlds/struts-bean.tld" prefiksi = "loviya"%> <% @ taglib uri = "/ WEB-INF/tlds/struts-html.tld" prefiks = "html"%> <% @ taglib uri = "/ WEB-INF/tlds/struts-ext.tld" prefiks = prefiks = "plitalar"%> <% @ taglib uri = "/ WEB-INF/tlds/utility.tld" prefiksi "%" <% @ taglib uri = "/ WEB-INF/tlds/struts-tiles.tld" = "util"%> <% @ taglib uri = "/ WEB-INF/tlds/c.tld" prefiksi = "c"%> "bular faqat men sahifamga ishlatilgan.
qo'shib qo'ydi muallif Mdhar9e, manba
har qanday fikr Bozho. :(
qo'shib qo'ydi muallif Mdhar9e, manba
serverni yangilay olmaymiz. Biz loyihada turibmiz.
qo'shib qo'ydi muallif Mdhar9e, manba
Men ushbu ko'rsatma bilan harakat qildim. Sahifa xatosi.
qo'shib qo'ydi muallif Mdhar9e, manba
http://localhost: 8080/dnweb/device/$% 7Brequest.contextPath% 7 & zwnj; D/displayFindDeviceI & zwnj; d.do havolani yuqorida ko'rsatilgan tarzda ko'rsatmoqda. Lekin http://localhost: 8080/dnweb/displayFindDeviceId.do kabi bo'lishi kerak.
qo'shib qo'ydi muallif Mdhar9e, manba

HTML taglib yorlig'i yordamida kontekstli yo'lni belgilab qo'ydim, masalan, skriptliet teglarini ishlatib, o'zgarmaydigan kontekstning yo'lini belgilashingiz mumkin

contextPathni yig'ish uchun o'zgarmaydigan urlName-ni oldim.


 <% urlName= request.getContextPath() + "/displayFindDeviceId.do"; %>
  
        
 

Ushbu kod bo'yicha mahalliy xostingda yaxshi ishlaydi.

Bozho va JBga rahmat.

0
qo'shib qo'ydi

Bu Struts1 yorlig'i, shunday emasmi? Agar shunday bo'lsa, kontent-nisbiy (yoki hatto modul bilan bog'liq) URL-laridan foydalanish uchun action yoki page xususiyati bilan foydalaning. http://struts.apache.org/1 ga qarang. Batafsil ma'lumot uchun x/struts-taglib/tagreference.html # html: link .

0
qo'shib qo'ydi

${pageContext.request.contextPath} worked for me (spring version 4.3.5.RELEASE and jstl version 1.2). The setting isELIgnored="false" is still needed.

0
qo'shib qo'ydi