ログされたユーザーの名前をLiferayのポートレットに表示するためのコードを少し書こうとしています。外部ビュー・コンポーネントなしでポートレットを作成する方法
私の問題は、プログラミング上の問題の一部ですが、Javaクラスとview.jspファイルとの間の接続がどれほど正確であるか分かりません。
私は知っており、view.jspファイルだけでユーザー名と写真を表示できますが、Javaクラスも使用できません。
私はprocessAction()メソッドとdoView()メソッドで試してみました。私は、actionResponseの情報をポートレットでレンダリングするための情報を表示するためにパラメータを保存する必要があると思いますが、実際は少し失われて乱雑です。私の質問の1つは、例えば:view.jspファイルにも書くべきでしょうか?または、私はJavaクラスでのみすべてを行うことができますか?私は私のJavaクラスのコードを添付します。
非常に助かります。 事前に感謝します。 ラファは
public class UserInfo extends MVCPortlet{
@Override
public void processAction(ActionRequest actionRequest, ActionResponse actionResponse)
throws IOException, PortletException
{
ThemeDisplay themeDisplay = (ThemeDisplay)
actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
User user = themeDisplay.getUser();
PortletPreferences prefs = actionRequest.getPreferences();
String userName = (String) actionRequest.getParameter("UserInfo");
userName = user.getFullName();
if (userName != null)
{
prefs.setValue("UserInfo", userName);
prefs.store();
}
actionResponse.setRenderParameter("userName", userName);
super.processAction(actionRequest, actionResponse);
}
}
私はあなたが何を意味しているか知っています。私はポートレットについて学んでいますが、私はそれだけで3日間です。私はあなたが推奨するようにいくつかの行でview.jspを使って自分の仕事をしましたが、今でもJavaクラスを使ってそれを達成したいと思います。 – agapitocandemor
ok、私の編集を参照してください –
私はついにこれをしました: PrintWriter writer = response.getWriter(); \t \t \t \t writer.write(String.format( "
%s
"、userinfo2)); \t \t writer.write(String.format( "%s
"、name)); \t \t writer.close(); しかし、今私はあなたを試して、ありがとう;) – agapitocandemor