Thanks, Darya, for your prompt reply. It’s not possible to give you the link to the project since it contains confidential data. However, here’s the code:
goalsPage2.jsp:
<%@ page language=“java” %>
<%@ include file = "../sessionTimeout.jsp" %>
<style>
/* Override the default font-weight on the fieldset legend to make it bold */
.dhxlist_obj_dhx_skyblue fieldset.dhxlist_fs legend.fs_legend {
font-weight: bold;
}
</style>
Goals Domain 5 Objective <%=request.getParameter("objective")%>
------------------------------------------------------------------------------------------------------
goalsPage2Data.jsp:
------------------------
<%@ page language="java" contentType="text/xml; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page import="goals.*,java.util.*,db.*"%>
<%
Goals goals = GoalsController.retrieveGoals(request);
String objective = request.getParameter("objective");
Map studentLearningObjectives = GoalsController.retrieveSlsForGoal(goals, objective);
studentLearningObjectives.putAll(GoalsController.retrieveSlComponentsForGoal(goals, objective));
studentLearningObjectives.putAll(GoalsController.retrieveSlRatingsForGoal(goals, objective));
out.println("");
for (String key : studentLearningObjectives.keySet()) {
String value = studentLearningObjectives.get(key);
out.print("<" + key + ">");
out.print(value);
out.println("");
}
out.println("");
%>
-------------------------------------------------------------------------------------------------------------
goalsPage2Form.jsp:
------------------------
<?xml version="1.0"?>
<%@ page language="java" contentType="text/xml; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page import="db.*,goals.*"%>
<%
User loggedInUser = (User)session.getAttribute("user");
Goals goals = GoalsController.retrieveGoals(request);
String objective = request.getParameter("objective");
String indicatorOptions = GoalsController.buildSloIndicatorOptions(goals, objective);
%>
<% if(!goals.isTeacherCommentsDisabled()) { %>
<%=indicatorOptions %>
<% } else { %>
<% } %>
</item>
<item type="label">
<item type="fieldset" label="Approval of Student Learning Objective (SLO)">
<item type="label" name="labelslr" labelHeight="20" label="" position="label-left"/>
<item type="label" name="labelslr1" labelHeight="20" label="Focus of SLO" position="label-left"/>
<item type="label" name="labelslr2" labelHeight="20" label="Appropriateness of Population" position="label-left"/>
<item type="label" name="labelslr3" labelHeight="20" label="Instructional Interval" position="label-left"/>
<item type="label" name="labelslr4" labelHeight="20" label="Quality of Evidence" position="label-left"/>
<item type="label" name="labelslr5" labelHeight="20" label="Rigor of Target" position="label-left"/>
<item type="label" name="labelslr6" labelHeight="20" label="Expectations for Effectiveness" position="label-left"/>
<item type="newcolumn" offset="50"/>
<item type="label" name="accslr" labelHeight="20" label="Acceptable" position="label-left"/>
<item type="radio" name="slr1" labelHeight="20" value="Y" label="" <%= goals.isTeacherCommentsDisabled() || loggedInUser.getPositionCd()!=2?"disabled='true' style='color:silver'":"" %>/>
<item type="radio" name="slr2" labelHeight="20" value="Y" label="" <%= goals.isTeacherCommentsDisabled() || loggedInUser.getPositionCd()!=2?"disabled='true' style='color:silver'":"" %>/>
<item type="radio" name="slr3" labelHeight="20" value="Y" label="" <%= goals.isTeacherCommentsDisabled() || loggedInUser.getPositionCd()!=2?"disabled='true' style='color:silver'":"" %>/>
<item type="radio" name="slr4" labelHeight="20" value="Y" label="" <%= goals.isTeacherCommentsDisabled() || loggedInUser.getPositionCd()!=2?"disabled='true' style='color:silver'":"" %>/>
<item type="radio" name="slr5" labelHeight="20" value="Y" label="" <%= goals.isTeacherCommentsDisabled() || loggedInUser.getPositionCd()!=2?"disabled='true' style='color:silver'":"" %>/>
<item type="radio" name="slr6" labelHeight="20" value="Y" label="" <%= goals.isTeacherCommentsDisabled() || loggedInUser.getPositionCd()!=2?"disabled='true' style='color:silver'":"" %>/>
<item type="newcolumn" offset="50"/>
<item type="label" name="unaccslr" labelHeight="20" label="Unacceptable" position="label-left"/>
<item type="radio" name="slr1" labelHeight="20" value="N" label="" <%= goals.isTeacherCommentsDisabled() || loggedInUser.getPositionCd()!=2?"disabled='true' style='color:silver'":"" %>/>
<item type="radio" name="slr2" labelHeight="20" value="N" label="" <%= goals.isTeacherCommentsDisabled() || loggedInUser.getPositionCd()!=2?"disabled='true' style='color:silver'":"" %>/>
<item type="radio" name="slr3" labelHeight="20" value="N" label="" <%= goals.isTeacherCommentsDisabled() || loggedInUser.getPositionCd()!=2?"disabled='true' style='color:silver'":"" %>/>
<item type="radio" name="slr4" labelHeight="20" value="N" label="" <%= goals.isTeacherCommentsDisabled() || loggedInUser.getPositionCd()!=2?"disabled='true' style='color:silver'":"" %>/>
<item type="radio" name="slr5" labelHeight="20" value="N" label="" <%= goals.isTeacherCommentsDisabled() || loggedInUser.getPositionCd()!=2?"disabled='true' style='color:silver'":"" %>/>
<item type="radio" name="slr6" labelHeight="20" value="N" label="" <%= goals.isTeacherCommentsDisabled() || loggedInUser.getPositionCd()!=2?"disabled='true' style='color:silver'":"" %>/>
</item>
</item>
<item type="label">
<item type="fieldset" label="Domain 5 - Student Learning">
<item type="settings" labelWidth="160" inputWidth="800" position="label-left"/>
<item type="input" rows="2" name="slo1" label="Student Learning Objective" <%= goals.isTeacherCommentsDisabled()?"readonly='true' style='color:silver'":"" %>/>
<item type="input" rows="2" name="slo2" label="Population" <%= goals.isTeacherCommentsDisabled()?"readonly='true' style='color:silver'":"" %>/>
<item type="input" rows="2" name="slo3" label="Learning Content" <%= goals.isTeacherCommentsDisabled()?"readonly='true' style='color:silver'":"" %>/>
<item type="input" rows="2" name="slo4" label="Instructional Interval" <%= goals.isTeacherCommentsDisabled()?"readonly='true' style='color:silver'":"" %>/>
<item type="input" rows="2" name="slo5" label="Evidence of Growth" <%= goals.isTeacherCommentsDisabled()?"readonly='true' style='color:silver'":"" %>/>
<item type="input" rows="2" name="slo6" label="Baseline" <%= goals.isTeacherCommentsDisabled()?"readonly='true' style='color:silver'":"" %>/>
<item type="input" rows="2" name="slo7" label="Rational for SLO" <%= goals.isTeacherCommentsDisabled()?"readonly='true' style='color:silver'":"" %>/>
<item type="input" rows="2" name="slo8" label="Target" <%= goals.isTeacherCommentsDisabled()?"readonly='true' style='color:silver'":"" %>/>
<item type="label" >
<item type="label" labelWidth="140"/>
<item type="newcolumn"/>
<item type="fieldset" label="Criteria for Effectiveness">
<item type="settings" labelWidth="160" inputWidth="200" position="label-top"/>
<item type="input" rows="2" name="slo9" label="Highly Effective" <%= goals.isTeacherCommentsDisabled()?"readonly='true' style='color:silver'":"" %>/>
<item type="newcolumn" offset="50"/>
<item type="input" rows="2" name="slo10" label="Effective" <%= goals.isTeacherCommentsDisabled()?"readonly='true' style='color:silver'":"" %>/>
<item type="newcolumn" offset="50"/>
<item type="input" rows="2" name="slo11" label="Ineffective" <%= goals.isTeacherCommentsDisabled()?"readonly='true' style='color:silver'":"" %>/>
</item>
</item>
<item type="input" rows="2" name="slo12" label="Strategies" <%= goals.isTeacherCommentsDisabled()?"readonly='true' style='color:silver'":"" %>/>
</item>
</item>
Java methods:
/**
* Retrieves the goal_sl records for the specified goal and objective
* @param goals
* @param objective
* @return
*/
public static Map<String,String> retrieveSlsForGoal(Goals goal,String objective)
{
Map<String,String> studentLearningObjectives = new HashMap<String,String>();
Integer objectiveInteger = Integer.parseInt(objective);
Connection conn = null;
conn = null;
PreparedStatement stmt = null;
String sql =
"select gs.*, i.teacher_description\n" +
" from goal_sl gs\n" +
" left outer join lktbl_indicator i on i.indicator_cd = gs.indicator\n" +
" where goal_id = ?\n" +
" and objective = ?";
try
{
conn = DB.getConnection();
Integer[] sqlArgs = new Integer[]{new Integer(goal.getGoalId()),objectiveInteger};
int[] argTypes = new int[]{Types.INTEGER,Types.INTEGER};
stmt = DB.getPreparedStatement(conn, sql, sqlArgs, argTypes);
stmt.execute();
ResultSet rs = stmt.getResultSet();
while(rs.next())
{
studentLearningObjectives.put("indicator", rs.getString("indicator"));
studentLearningObjectives.put("approved", Boolean.toString(rs.getBoolean("approved")));
studentLearningObjectives.put("indicatorDescription", rs.getString("teacher_description"));
}
rs.close();
}
catch (SQLException ex)
{
ex.printStackTrace();
}
finally
{
DB.closeStatement(stmt);
DB.closeConnection(conn);
}
return studentLearningObjectives;
}
/**
* Retrieves the goal_slcomponent records for the specified goal and objective
* @param goals
* @param objective
* @return
*/
public static Map<String,String> retrieveSlComponentsForGoal(Goals goal,String objective)
{
Map<String,String> slComponents = new HashMap<String,String>();
Integer objectiveInteger = Integer.parseInt(objective);
Connection conn = null;
conn = null;
PreparedStatement stmt = null;
String sql = "select * from goal_slcomponent where goal_id = ? and objective = ?";
try
{
conn = DB.getConnection();
Integer[] sqlArgs = new Integer[]{new Integer(goal.getGoalId()),objectiveInteger};
int[] argTypes = new int[]{Types.INTEGER,Types.INTEGER};
stmt = DB.getPreparedStatement(conn, sql, sqlArgs, argTypes);
stmt.execute();
ResultSet rs = stmt.getResultSet();
while(rs.next())
{
String componentCd = "slo" + rs.getInt("slcomponent_cd");
String componentComments = DB.clobToString(rs.getClob("component_comments"));
// default the criteria for effectiveness
if(componentComments==null || componentComments.length()==0) {
switch (rs.getInt("slcomponent_cd")) {
case 9: componentComments = "More than 90% of students meet agreed upon learning targets.";
break;
case 10: componentComments = "Between 75% and 90% of students meet agreed upon learning targets.";
break;
case 11: componentComments = "Less then 75% of students meet agreed upon learning targets.";
break;
default: componentComments = "";
break;
}
}
slComponents.put(componentCd,componentComments);
}
rs.close();
}
catch (SQLException ex)
{
ex.printStackTrace();
}
finally
{
DB.closeStatement(stmt);
DB.closeConnection(conn);
}
return slComponents;
}
/**
* Retrieves the goal_slrating records for the specified goal and objective
* @param goals
* @param objective
* @return
*/
public static Map<String,String> retrieveSlRatingsForGoal(Goals goal,String objective)
{
Map<String,String> slRatings = new HashMap<String,String>();
Integer objectiveInteger = Integer.parseInt(objective);
Connection conn = null;
conn = null;
PreparedStatement stmt = null;
String sql = "select * from goal_slrating where goal_id = ? and objective = ?";
try
{
conn = DB.getConnection();
Integer[] sqlArgs = new Integer[]{new Integer(goal.getGoalId()),objectiveInteger};
int[] argTypes = new int[]{Types.INTEGER,Types.INTEGER};
stmt = DB.getPreparedStatement(conn, sql, sqlArgs, argTypes);
stmt.execute();
ResultSet rs = stmt.getResultSet();
while(rs.next())
{
String ratingCd = "slr" + rs.getInt("slorating_cd");
String rating = rs.getString("acceptable");
slRatings.put(ratingCd,rating);
}
rs.close();
}
catch (SQLException ex)
{
ex.printStackTrace();
}
finally
{
DB.closeStatement(stmt);
DB.closeConnection(conn);
}
return slRatings;
}