私のアプリケーションはフォームをサーバーに完全に送信し、「フォームが送信されました」や「申し訳ありませんが、問題が発生しました!」などのサーバーから受信した応答メッセージを表示します。
ただし、すべてのユーザーがフォームページにアクセスできるようにする必要がありますが、許可されたユーザーのみがフォームを送信できる必要があります。そのため、ユーザーが保護されたページにアクセスしようとすると、ユーザーをインデックス ページにリダイレクトするように構成された Spring セキュリティを使用します。
ここまではすべて正常に動作しますが、問題は、message.jsp ページを使用してサーバーから返されたメッセージを表示しているため、承認されていないユーザーがフォームを送信しようとすると、インデックス ページがメッセージの本文として表示されることです。 jsp ページであり、message.jsp ページはメッセージを表示するために使用されるため、私の form.jsp ページには index.jsp ページが表示されます。
問題を解決するには?または、この問題を回避するために、form.jsp ページにサーバー メッセージを表示する方法を教えてください。
フォーム.jsp
function Add(value){
if(window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
}
else
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
document.getElementById("msg").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("get","add?myvalue="+value,false);
xmlhttp.send();
}
.....
form goes here
<label id="msg"></label>
formSubmit.java
private String ServerMessage;
public String add(){
....
if(result)
this.ServerMessage = "form is submitted";
else
this.ServerMessage = "sorry, something went wrong!"
return "successful";
}
....
struts.xml
<result name="successful">message.jsp</result>
メッセージ.jsp
required library goes here
<s:property value="ServerMessage"/>