0

問題の解決にご協力ください。フォームがあります。コードは次のとおりです。

<form action="test" method="Post">
<input type="text" name="text" autofocus >
<input type="submit" value="">
</form>

ファイルの名前を入力すると、その名前がサーブレットに渡されます。サーブレットのコードは次のとおりです。

protected void doPost(HttpServletRequest request, HttpServletResponse response) 
            throws ServletException, IOException{
        request.setCharacterEncoding("UTF-8");
        response.setContentType("text/html; charset=UTF-8");

        String myName = request.getParameter("text");

test.txt のようなファイル名を入力するフォームがありますが、テストのみを入力して、txt を入力することはできませんか? 回答に非常に感謝しています。コードを提供していただければ)拡張子が txt のファイルのみを入力します。必要はありません。

4

1 に答える 1

3

私はあなたが何を望んでいるのか理解できませんでした。もっとうまく説明できますか?

HTML からサーブレットを呼び出しますか? その場合は、住所を記載する必要があります。

<form action="servlet_url" method="post">

servlet_url はサーブレットのアドレスです。サーブレットが HTML Web ページを含むプロジェクト内にある場合、URL を見つけるのは簡単ですが、そうでない場合は、サーブレットを使用してアプリケーションをデプロイし、アプリケーション サーバー (tomcat、weblogic、jboss) 内で最終的な URL を確認する必要があります。など)。

このように、コードに「.text」を追加することについて話しますか?

String myName = request.getParameter("text");
if (myName != null && myName.length() > 0) {
    myName += ".txt";
}

「.txt」が名前に既に含まれているかどうかを確認したい場合は、次のように任意の文字列 API で確認できます。

if(!myName.endsWith(".txt")) myName += ".txt";

または、2 つのアプローチに参加することもできます。

ホセ・クルス

于 2012-11-12T18:03:45.403 に答える