Hi please see Answers in bold
Greg:
Sorry, I can't understand what you are talking about in scenario 1, on a
redirect result there is no output response except the http redirect
command.
Sajid:Its normal Ajax call no redirect.
signup.jsp
<html>
<head>
<title>Service Owner</title>
<link href="<s:url value='/css/main.css'/>" rel="stylesheet"
type="text/css" />
<sx:head cache="true" debug="true" parseContent="true"/>
</head>
<script language="JavaScript" type="text/javascript">
function avalibility(username) {
dojo.io.bind({
url: "<s:url
value='/userAvailableCheckAction.action'/>?username="+username,
load: function(type, data, evt) {
var username1 = dojo.byId("username");
username1.value=data
},
mimeType: "text/html"
});
}
</script>
<s:form action="doSignUP" method="POST" theme="simple">
<s:actionerror /><s:actionmessage/>
<s:textfield label="User Name" name="username" required="true"
requiredposition="left" id="username"
onblur="javascript:avalibility(this.value);return false;" />
<s:submit value="Save" align="center"/>
</s:form>
struts.xml
<interceptors>
<interceptor name="redirectMessage"
class="com.teleparadigm.mms.application.common.RedirectMessageInterceptor"
/>
<interceptor-stack name="myStack">
<interceptor-ref name="redirectMessage" />
<interceptor-ref
name="paramsPrepareParamsStack" />
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="myStack" />
<action name="userAvailableCheckAction"
class="com.teleparadigm.mms.application.useravailability.UserAvailabilityAction">
<result>/pages/available.jsp</result>
</action>
available.jsp
<%...@taglib prefix="s" uri="/struts-tags"%>
<% System.out.println("In JSP username "+request.getParameter("username"));
System.out.println("In JSP exist "+request.getParameter("exist"));
if(request.getParameter("exist")==null){
%>
<s:property value="%{username}" />
<%}else{%>
alert('User Already Exist !...');
<%}%>
UserAvailabilityAction.java
package com.teleparadigm.mms.application.useravailability;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.struts2.interceptor.ServletRequestAware;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.teleparadigm.mms.application.common.Owner;
import com.teleparadigm.mms.application.login.LoginDAO;
public class UserAvailabilityAction extends ActionSupport implements
ServletRequestAware
{
private HttpServletRequest request;
public void setServletRequest(HttpServletRequest request){
this.request = request;
}
public HttpServletRequest getServletRequest(){
return request;
}
UserAvailabilityDAO uadao=new UserAvailabilityDAO();
private String username = null;
public String execute() throws Exception {
System.out.println("UserAvailabilityAction--->"+this.
getUsername());
boolean result=uadao.checkUserNameAvailability(this.
getUsername().trim());
System.out.println("result--->"+result);
if(!result){
return SUCCESS;
}else{
username="";
addActionError("User Already Exists..plz use another
username..");
return SUCCESS;
}
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
For scenario 2, you still haven't provided enough info to help you.
Greg:
- What's your interceptor stack look like? Does it include the 'workflow'
interceptor?
Sajid:
<interceptors>
<interceptor name="redirectMessage"
class="com.teleparadigm.mms.application.common.RedirectMessageInterceptor"
/>
<interceptor-stack name="myStack">
<interceptor-ref name="redirectMessage" />
<interceptor-ref
name="paramsPrepareParamsStack" />
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="myStack" />
<action name="MMSUpload"
class="com.teleparadigm.mms.application.mms.MMSUploadAction">
<interceptor-ref name="i18n" />
<interceptor-ref name="fileUpload" />
<interceptor-ref name="basicStack" />
<result name="input">/pages/ComposeMMS.jsp</result>
<result name="error" type="redirectAction">
showDynamicTreeActionMMS
</result>
<result>/pages/upload_success.jsp</result>
</action>
<action name="showDynamicTreeActionMMS"
class="com.teleparadigm.mms.application.dynamictree.ShowDynamicTreeAction">
<result name="input">/pages/ComposeMMS.jsp</result>
<result name="error" type="redirect">/index.jsp</result>
<result>/pages/ComposeMMS.jsp</result>
</action>
Greg:
- How is your action configured? does it include a result with name="input"?
Sajid:
yes it includes as shown above
Greg:
- What's your result jsp look like? does it include anything to display
errors or messages?
Sajid:
ComposeMMS.jsp
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
<%
request.getSession().setAttribute( "tab" ,"MMS");
%>
<html>
<head>
<title>Service Owner</title>
<link href="<s:url value='/css/main.css'/>" rel="stylesheet"
type="text/css" />
<sx:head cache="true" debug="true"/>
</head>
<script language="JavaScript" type="text/javascript">
dojo.event.topic.subscribe("treeSelected", function
treeNodeSelected(node) {
dojo.io.bind({
url: "<s:url
value='/dynamicTreeSelectAction.action'/>?nodeId="+node.node.widgetId,
load: function(type, data, evt) {
var divDisplay = dojo.byId("displayId");
divDisplay.innerHTML=data;
},
mimeType: "text/html"
});
});
</script>
<sx:tree
id="tree"
rootNode="%{#session.treeRootNode}"
childCollectionProperty="children"
nodeIdProperty="id"
nodeTitleProperty="name"
treeSelectedTopic="treeSelected">
</sx:tree>
</div>
<div id="content">
<h3>Please Select Tree Node to place the Content</h3>
<s:actionerror /> <s:fielderror />
<s:form action="MMSUpload"
method="POST" enctype="multipart/form-data" id="form" >
<s:div id="displayId"></s:div>
<s:textfield name="MMSFrom" label="MMS From " />
<s:textfield name="MMSSubject" label="MMS Subject" />
<s:textfield name="MMSText" label="MMS Text" />
<s:textfield name="MMSName" label="MMS Name" />
<s:file name="upload" label="File 1" />
<s:file name="upload" label="File 2" />
<s:submit align="center" />
</s:form>
Gerg
Also what steps have you done to try and resolve the problem? Have you
stepped through these scenarios in a debugger?
sajid
i have taken RedirectMessageInterceptor.java from the link as given above
and was unable to step as i really never ever able to set sourcecode of
sturts2.1.6 in eclipse and i use only binary no sourceplz suggest me to do
this.i know how to set debugging mode but when ever i try to set in my
eclise it will struck wont response... :(
Gerg
You should include at a minimum your struts configuration (struts.xml) and
jsp file.
--
View this message in context:
http://www.nabble.com/Actionerror%27s-wont-be-shown-when-ajax-call-or-when-we-do-type%3D%22redirectAction%22-using-struts2.1.6-tp22490692p22510738.html
Sent from the Struts - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]