簡體   English   中英

Java獲取POST參數問題

[英]Java get POST parameters issue

我嘗試將POST參數從網站發布到Java WebApp。 Java應用程序正在使用名為EchoStudio的框架。

這是Java端代碼:

ContainerContext context = (ContainerContext) getContextProperty(ContainerContext.CONTEXT_PROPERTY_NAME);

    ClientProperties clientProperties = context.getClientProperties();

    for (String s : clientProperties.getPropertyNames()) {
        System.out.println(s + " = " + clientProperties.get(s));
    }
    Iterator entries = context.getInitialRequestParameterMap().entrySet().iterator();
    while (entries.hasNext()) {
      Entry entry = (Entry) entries.next();
      System.out.println(entry.getKey() + "/" + entry.getValue().toString());
    }

輸出顯示鍵,但不顯示值(entry.getValue()。toString()),對於值我有此錯誤:

java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.String

java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.String 當您嘗試將類的數組類型轉換為線性類型時,JVM java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.String

在這種情況下,嘗試強制轉換String- String -> String[] ,反之亦然,將導致JVM在運行時引發此特定異常。

我建議您通過在println語句上設置斷點來檢查entry的類型,並檢查entry變量。

context.getInitialRequestParameterMap()的類型應為Map<String, String[]>

ClassCastException的原因是您將String[]強制轉換為String (從簽名[Ljava.lang.String您可以看出它是String[]

因此,請先將entry.getValue()強制轉換為String[]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM