This week's book giveaway is in the Java 8 forum.
We're giving away four copies of Java 8 in Action and have Raoul-Gabriel Urma, Mario Fusco, and Alan Mycroft on-line!
See this thread for details.
The moose likes Struts and the fly likes how to make editable page non editable when i press save????? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "how to make editable page non editable when i press save?????" Watch "how to make editable page non editable when i press save?????" New topic
Author

how to make editable page non editable when i press save?????

sanju sreedharan
Ranch Hand

Joined: Nov 25, 2008
Posts: 48
hello everyone

i am having one proble can anyone help me???

i have two button ADD and Submit.

when i press add the three afield will open...one is place_interview,date_interview and interview_schedule_userid

when i press save the data i am entering should save and it should not be able to be editable again......can anyone tell me how to do that.i will send the jsp file

when i press add this should be displayed

<%int cntLoop=0; %>
<table border=0 class="type1" >
<logic:equal name="User" property="notify_dept_interview_time" value="1" >
<logic:iterate id="selectionProcess" name="selectionProcess">
<%if (selF.getPlace_interview()!=null){%>
<tr>
<th class="type1opp"><bean:message key="sel.place_interview" /></th>
<td class="type1"><html:textarea name="selectionProcess" property="place_interview" indexed="true" onkeypress="textareaChars(this, 250)" cols="40" styleClass="textarea"/></td>
<th class="type1opp"><bean:message key="sel.date_interview" /></th>
<td class="type1"><html:text property="date_interview" name="selectionProcess"readonly="true" indexed="true" styleClass="input_medium"></html:text></td>
<th class="type1opp"><bean:message key="sel.userid" /></th>
<td class="type1"> <bean:write name="selectionProcess" property="interview_schedule_userid" /></td>
</tr>
<tr>
<td class="type1">)"> Candidates for Interview</td>
</tr>
<tr>

And when i press save this should be displayed

<%}else{%>
<th class="type1opp"><bean:message key="sel.place_interview" /></th>
<td class="type1"><bean:write name="selectionProcess" property="place_interview"/></td>
<th class="type1opp"><bean:message key="sel.date_interview" /></th>
<td class="type1"><bean:write name="selectionProcess" property="date_interview"/></td>
<th class="type1opp"><bean:message key="sel.userid" /></th>
<td class="type1"> <bean:write name="selectionProcess" property="interview_schedule_userid" /></td>
</tr>
<tr>
<td class="type1"> Candidates for Interview</td>
</tr>
<%}%>
</logic:iterate>
</logic:equal>

i will also post my action class if needed...can anyone help me out

thanks
sanju
David Newton
Author
Rancher

Joined: Sep 29, 2008
Posts: 12617

Could you disable HTML please? I find that a little hard to read.

If you're forwarding to a different page on the save just display the values. If you're forwarding to the form page when you hit save then use boolean logic and either display the form or the values.
sanju sreedharan
Ranch Hand

Joined: Nov 25, 2008
Posts: 48
hello david can you forward me your email id i will send the coding through mail

sanaj
David Newton
Author
Rancher

Joined: Sep 29, 2008
Posts: 12617

Click the "disable HTML in this message" checkbox. Put the code inside code tags.
sanju sreedharan
Ranch Hand

Joined: Nov 25, 2008
Posts: 48
my jsp page
---------------
<logic:equal name="User" property="notify_dept_interview_time" value="1" >

<logic:iterate id="selectionProcess" name="selectionProcess">


<%if (selF.getPlace_interview()==null){%>
<tr>
<th align=left class="type1opp"><bean:message key="sel.place_interview" /></th>
<td width="22%" class="type1"><html:textarea name="selectionProcess" property="place_interview" indexed="true" onkeypress="textareaChars(this, 250)" cols="40" styleClass="textarea"/></td>
<th align=left class="type1opp"><bean:message key="sel.date_interview" /></th>
<td width="22%" class="type1"><html:text property="date_interview" name="selectionProcess"readonly="true" indexed="true" styleClass="input_medium"></html:text><img src="../images/cal.gif" onclick="return showCalendar('selectionProcess[<%=cntLoop++%>].date_interview','%d/%m/%Y %H:%M', '12', true);" style="cursor:hand;" width="16" height="16"/></td>
<th align=left class="type1opp"><bean:message key="sel.userid" /></th>
<td width="22%" class="type1"> <bean:write name="selectionProcess" property="interview_schedule_userid" /></td>
</tr>
<tr>
<td colspan=3 align=middle class="type1"><a href="javascript:void()" onclick="javascript:return resumesearch(<bean:write name="selectionProcess" property="selection_prid" />)"> Candidates for Interview</a></td>
</tr>
<tr>

<%}else{%>
<th align=left class="type1opp"><bean:message key="sel.place_interview" /></th>
<td width="22%" class="type1"><bean:write name="selectionProcess" property="place_interview"/></td>
<th align=left class="type1opp"><bean:message key="sel.date_interview" /></th>
<td width="22%" class="type1"><bean:write name="selectionProcess" property="date_interview"/></td>
<th align=left class="type1opp"><bean:message key="sel.userid" /></th>
<td width="22%" class="type1"> <bean:write name="selectionProcess" property="interview_schedule_userid" /></td>
</tr>
<tr>
<td colspan=3 align=middle class="type1"><a href="javascript:void()" onclick="javascript:return resumesearch()"> Candidates for Interview</a></td>
</tr>

<%}%>
</logic:iterate>
</logic:equal>

<jsp:include page="bottom5.jsp" flush="true" />
<jsp:include page="bottom3.jsp" flush="true" />

my action class
______________




// used to add dynamically

if(submit!=null&&submit.equalsIgnoreCase("Add"))
{
Dml dml=new Dml();
selectionProcess=new ArrayList();
for(int i=0;;i++)
{
String place_interview="selectionProcess["+i+"].place_interview";
String date_interview="selectionProcess["+i+"].date_interview";

if(request.getParameter(place_interview)==null)break;

SelectionDetails details=new SelectionDetails();
details.setVacancy_refno(selForm.getVacancy_refno());
details.setRecycle_no(selForm.getRecycle_no());
details.setPlace_interview(request.getParameter(place_interview));
details.setDate_interview(request.getParameter(date_interview));
selectionProcess.add(details);
}

SelectionDetails sd=new SelectionDetails();
sd.setPlace_interview("");
sd.setDate_interview("");
selectionProcess.add(sd);
dml.populateSelectionForm(selForm,selForm.getVacancy_refno(),selForm.getRecycle_no());

divs=dmlu.getDivision(selForm.getDivision());
depts=dmlu.getDepartment(selForm.getDept(),selForm.getDivision());
sections=dmlu.getSection(selForm.getDept(), selForm.getDivision(), selForm.getSection());
langs=dmlu.getLanguage_only_one(selForm.getLanguage());
grades=dmlu.getGrade_onlyone(selForm.getGrade());
ageranges=dmlu.getAgerange(selForm.getAge_range());
nationality=dmlu.getNationality(Integer.parseInt(selForm.getNation()));
}

// for saving

public SelectionForm approve(SelectionForm selForm,HttpServletRequest request,User user)
{
try
{
Dml dml=new Dml();
if(selForm.getInterview_schedule_userid()==null||selForm.getInterview_schedule_userid().equals(""))
{
selectionProcess=new ArrayList();
for(int i=0;;i++)
{
String place_interview="selectionProcess["+i+"].place_interview";
String date_interview="selectionProcess["+i+"].date_interview";

if(request.getParameter(place_interview)==null)break;

SelectionDetails details=new SelectionDetails();
details.setVacancy_refno(selForm.getVacancy_refno());
System.out.println("VACANCY_REFNO=================="+selForm.getVacancy_refno());
details.setRecycle_no(selForm.getRecycle_no());
System.out.println("RECYCLE_nO=================="+selForm.getRecycle_no());
details.setPlace_interview(request.getParameter(place_interview));
System.out.println("PLACE_INTERVIEW=================="+selForm.getPlace_interview());
details.setDate_interview(request.getParameter(date_interview));
System.out.println("DATE_INTERVIEW=================="+selForm.getDate_interview());
details.setInterview_schedule_userid(user.getUserid());
selectionProcess.add(details);
selForm=dml.selectionList(details.getVacancy_refno(),details.getRecycle_no(),details.getPlace_interview(),details.getDate_interview(),details.getInterview_schedule_userid(),details.getSelection_prid(),selForm);
}
}
______________________________________________________________________________



function to store in the database

__________________________________________________________________________________________

public SelectionForm selectionList(String vacancy_refno,String recycle_no,String place_interview,
String date_interview, String interview_schedule_userid,String selection_prid,SelectionForm selForm)
{
Connection dbConnection = null;
PreparedStatement psmt1 = null;
ResultSet rs1=null;
try
{
OracleServerAccess dbAccess = new OracleServerAccess();
dbConnection = dbAccess.openConnection();
String sq1="insert into ts_selection_details(VACANCY_REFNO,RECYCLE_NO,PLACE_INTERVIEW,DATE_INTERVIEW,SELECTION_PRID,DATE_INTERVIEW_INPUT_DATE,"+
"INTERVIEW_SCHEDULE_USERID) values ('"+vacancy_refno+"','"+recycle_no+"'," +
"'"+place_interview+"'," +
"to_date('"+date_interview+"','dd/mm/yyyy HH24:MI:SS')," +
"SEQ_RECID.NEXTVAL,to_date(sysdate,'dd/mm/yyyy HH24:MI:SS'),"+
"'"+interview_schedule_userid+"')";
logger.info(sq1);
psmt1 =dbConnection.prepareStatement(sq1);
rs1=psmt1.executeQuery();
if(rs1.next())
sq1="select " +
" DATE_INTERVIEW_INPUT_DATE,PLACE_INTERVIEW,DATE_INTERVIEW,interview_schedule_userid from ts_selection_details where " +
" vacancy_refno='"+selForm.getVacancy_refno()+"' and recycle_no='"+selForm.getRecycle_no()+"'";
logger.info(sq1);
psmt1=dbConnection.prepareCall(sq1);
psmt1.executeUpdate();
}
catch(Exception e)
{
logger.info(e.getMessage());
e.printStackTrace();
}
finally
{
try
{
if(rs1!=null)rs1.close();
if(psmt1!=null)psmt1.close();
if(dbConnection!=null)dbConnection.close();
}
catch(Exception e){}
}
return selForm;
}


David Newton
Author
Rancher

Joined: Sep 29, 2008
Posts: 12617

Are you wanting to re-load the page, or change it in-place?

If you're doing a full submission and reloading the page just set a flag in, say, request scope, and check for it in the code.

By the way, creating a string SQL statement using raw form values is a very, ***very*** bad idea.
sanju sreedharan
Ranch Hand

Joined: Nov 25, 2008
Posts: 48
hello david

thank you for the reply..can you please tell me a best way to store in a database..whether there is any drawbacks in the way i did

thanks
sanaj
Dawn Charangat
Ranch Hand

Joined: Apr 26, 2007
Posts: 249
Even if it is right in the same page, you can check for value existence, and invoke javascript to disable to field from further editing.

And for database storing, if you feel the DAO pattern is not good enough, and ORM is too much, still you can have some POJOs dedicated for DB
stuff, to ascertain that the values are in right format [and type checking] and finally create the SQL wherein modification of the same can be done with minimum of fuss.

Dawn
David Newton
Author
Rancher

Joined: Sep 29, 2008
Posts: 12617

Use prepared statements or clean the string values before creating an SQL string out of them.

I had thought SQL injection is a pretty well-known issue, but it's off-topic for this forum.
sanju sreedharan
Ranch Hand

Joined: Nov 25, 2008
Posts: 48
hello david

I had thought SQL injection is a pretty well-known issue, but it's off-topic for this forum. ???

david i didnt understand what you mean by this..can you please tell me clearly

thanks
sanju
David Newton
Author
Rancher

Joined: Sep 29, 2008
Posts: 12617

http://tinyurl.com/9wouw9
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: how to make editable page non editable when i press save?????
 
Similar Threads
please help me
jsp exception while using logic:iterate
logic:iterate
bean:write
logic:iterate indexed="true"