問題は絶対パスである必要があるリソースファイル(testing.txt
)の相対パスです。
MVCポートレット:request
はどちらかrenderRequest
/actionRequest
オブジェクトである
PortletContext portletContext = request.getPortletSession().getPortletContext();
そして、あなたは次のように、request
から得ることができ、最初にあなたが必要となり、portletContext
を絶対パスを作成します。 JSFでいる間、あなたは以下のように、externalContext
からrequest
を取得することができます。
JSFポートレットを:あなたは\
を使用する場合
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
PortletRequest request = (PortletRequest) externalContext.getRequest();
PortletContext portletContext = request.getPortletSession().getPortletContext();
また、オラフコックにより示唆されるように、あなたは脱出するために必要となりますそれ以外の場合は/
を使用します。私はFile.separator
を使用することを好む、それはOSごとにスラッシュを返すので(私は思う!)。今
String relativeFilePath = File.separator + "resources" + File.separator + "testing.txt";
として、あなたは、あなたのコードの残りの部分が行く、そして
String absoluteFilePath = portletContext.getRealPath(relativeFilePath);
、としてportletContext
を使用して、絶対パスを取得し、することができます: `内testing.txt`です
ReadFile readFile = new ReadFile();
String text = readFile.readFile(absoluteFilePath);
renderRequest.setAttribute("text", text);
WARファイル? – brandizzi
あなたはアンドロイドプロでそれをしたいですか? –