2

Spring MVC フレームワークを使用し、ビュー プリペアラーを使用してメニューをロードしています。viewpreparer クラスでリクエスト オブジェクトを取得する必要があります。そのために、ビュー作成者で次のコードを使用しています

@Service
public class MenuViewPreparer implements ViewPreparer {


   HttpServletRequest request = ServletActionContext.getRequest();
  // HttpSession session = request.getSession();
 public void execute(TilesRequestContext tilesContext,
         AttributeContext attributeContext) throws PreparerException {

         // MenuList fetches the list of all the main menus by calling the getMenuList() method present in MenuServiceDAOImpl
         // which is of type MenuDTO
         String user=null;
         System.out.println("Menu :"+request.hashCode());
         UserDTO userDTO = UserName.getUserName(request);
         user=userDTO.getUserId();
}
}

execute メソッドで request オブジェクトが必要です。しかし、すべてがnullのリクエストオブジェクトに入っています。したがって、例外が発生します。入手方法を誰か教えてくれませんか?

前もって感謝します。

4

3 に答える 3

0

tilesContext.getRequest() は非推奨のように見えるため、代替手段を探す必要がありました。以下は私のために働いた:

Object[] requests = (Object[]) tilesContext.getRequestObjects();
PageContext pageContext = null;
HttpServletRequest request = null;
if(requests.length > 0){
     pageContext = (PageContext) requests[0];
     request = (HttpServletRequest) pageContext.getRequest();
}

それが機能するかどうか教えてください。

于 2013-06-18T12:59:50.823 に答える
0

やってみました ??

public class MenuPreparer implements ViewPreparer {


public void execute(TilesRequestContext tilesContext, 
                  AttributeContext attributeContext) throws PreparerException {

    HttpServletRequest request = (HttpServletRequest) tilesContext.getRequest();
}
于 2013-04-04T10:12:26.223 に答える